Ipopo

Latest version: v3.0.0

Safety actively analyzes 665719 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 5

0.5.4

:::{admonition} Release Date
:class: info

2013-10-01
:::

Project

* Global speedup replacing `list.append()` by `bisect.insort()`.
* Optimizations in handling services, components and LDAP filters.
* Some classes of Pelix framework and iPOPO core modules extracted to new modules.
* Fixed support of Python 2.6.
* Replaced Python 3 imports conditions by *try-except* blocks.

iPOPO

* `Requires` accepts only one specification
* Added a context `use_ipopo(bundle_context)`, to simplify the usage
of the iPOPO service, using the keyword `with`.
* `get_factory_details(name)` method now also returns the ID of the
bundle provided the component factory, and the component instance
properties.
* Protection of the unregistration of factories, as a component can
kill another one of the factory during its invalidation.

Remote Services

* Protection of the unregistration loop during the invalidation of
JSON-RPC and XML-RPC exporters.
* The *Dispatcher Servlet* now handles the *discovered* part of the
discovery process. This simplifies the *Multicast Discovery*
component and suppresses a socket bug/feature on BSD (including Mac OS).

Shell

* The help command now uses the `inspect` module to list the required
and optional parameters.
* `IOHandler` now has a `prompt()` method to ask the user to enter a line.
It replaces the `read()` method, which was to buggy.
* The `make_table()` method now accepts generators as parameters.
* Remote commands handling removed: `get_methods_names()` is not used anymore.

0.5.3

:::{admonition} Release Date
:class: info

2013-08-01
:::

iPOPO

* New `get_factory_details(name)` method in the iPOPO service, acting
like `get_instance_details(name)` but for factories. It returns a
dictionary describing the given factory.
* New `factory` shell command, which describes a component factory:
properties, requirements, provided services, ...

HTTP Service

* Servlet exceptions are now both sent to the client and logged locally

Remote Services

* Data read from the servlets or sockets are now properly converted
from bytes to string before being parsed (Python 3 compatibility).

Shell

* Exceptions are now printed using `str(ex)` instead of `ex.message`
(Python 3 compatibility).
* The shell output is now flushed, both by the shell I/O handler and
the text console. The remote console was already flushing its
output. This allows to run the Pelix shell correctly inside Eclipse.

0.5.2

:::{admonition} Release Date
:class: info

2013-07-19
:::

iPOPO

* An error is now logged if a class is manipulated twice. Decorators
executed after the first manipulation, i.e. upon
`ComponentFactory()`, are ignored.
* Better handling of inherited and overridden methods: a decorated
method can now be overridden in a child class, with the name,
without warnings.
* Better error logs, with indication of the error source file and line

HTTP Service

* New servlet binding parameters:
* `http.name`: Name of HTTP service. The name of component
instance in the case of the basic implementation.
* `http.extra`: Extra properties of the HTTP service. In the
basic implementation, this the content of the `http.extra`
property of the HTTP server component
* New method `accept_binding(path, params)` in servlets. This allows
to refuse the binding with a server before to test the availability
of the registration path, thus to avoid raising a meaningless exception.

Remote Services

* End points are stored according to their framework
* Added a method `lost_framework(uid)` in the registry of imported
services, which unregisters all the services provided by the given framework.

Shell

* Shell *help* command now accepts a command name to print a specific documentation

0.5.1

:::{admonition} Release Date
:class: info

2013-07-05
:::

Framework

* `Bundle.update()` now logs the SyntaxError exception that be raised in Python 3.

HTTP Service

* The HTTP service now supports the update of servlet services
properties. A servlet service can now update its registration path
property after having been bound to a HTTP service.
* A *500 server error* page containing an exception trace is now
generated when a servlet fails.
* The `bound_to()` method of a servlet is called only after the HTTP
service is ready to accept clients.

Shell

* The remote shell now provides a service, `pelix.shell.remote`, with
a `get_access()` method that returns the *(host, port)* tuple where
the remote shell is waiting for clients.
* Fixed the `threads` command that wasn't working on Python 3.

0.5

:::{admonition} Release Date
:class: info

2013-05-21
:::

Framework

* `BundleContext.install_bundle()` now returns the `Bundle` object
instead of the bundle ID. `BundleContext.get_bundle()` has been
updated to accept both IDs and `Bundle` objects in order to keep a
bit of compatibility
* `Framework.get_symbolic_name()` now returns `pelix.framework`
instead of `org.psem2m.pelix`
* `ServiceEvent.get_type()` is renamed `get_kind()`. The other name is
still available but is declared deprecated (a warning is logged on
its first use).
* `BundleContext.install_visiting(path, visitor)`: visits the given
path and installs the found modules if the visitor accepts them
* `BundleContext.install_package(path)` (*experimental*):
* Installs all the modules found in the package at the given path
* Based on `install_visiting()`

iPOPO

* Components with a `pelix.ipopo.auto_restart` property set to `True` are
automatically re-instantiated after their bundle has been updated.

Services

* Remote Services: use services of a distant Pelix instance
* Multicast discovery
* XML-RPC transport (not fully usable)
* JSON-RPC transport (based on a patched version of jsonrpclib)
* EventAdmin: send events (a)synchronously

Shell

* Shell command methods now take an `IOHandler` object in parameter
instead of input and output file-like streams. This hides the
compatibility tricks between Python 2 and 3 and simplifies the
output formatting.

0.4

:::{admonition} Release Date
:class: info

2012-11-21
:::

Framework

* New `create_framework()` utility method
* The framework has been refactored, allowing more efficient services
and events handling

iPOPO

* A component can provide multiple services
* A service controller can be injected for each provided service, to
activate or deactivate its registration
* Dependency injection and service providing mechanisms have been
refactored, using a basic handler concept.

Services

* Added a HTTP service component, using the concept of *servlet*
* Added an extensible shell, interactive and remote, simplifying the
usage of a framework instance

Page 4 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.