Skip to main content

A service-oriented component model framework

Project description

README

This is iPOPO, a component model framework for Python based on SOA principles. It is based on Pelix, an SOA framework.

See http://ipopo.coderxpress.net for documentation and more information.

Feedback

Feel free to send feedback on your experience of Pelix/iPOPO, via the mailing lists :

More information at http://ipopo.coderxpress.net/

Release notes

iPOPO 0.5

API Changes

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).

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.

Additions

Project
  • Added this “release notes” page to the web site

Framework
  • 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

iPOPO 0.4

Version 0.4 fixes many bugs and provides new features:

Pelix

  • 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

iPOPO 0.3

Packages have been renamed. As the project goes public, it may not have relations to isandlaTech projects anymore.

Previous name

New name

psem2m

pelix

psem2m.service.pelix

pelix.framework

psem2m.component

pelix.ipopo

psem2m.component.ipopo

pelix.ipopo.core

iPOPO 0.2

Version 0.2 is the first public release, under GPLv3 license (see LICENSE).

Compatibility

The package has been tested with:

  • Python 2.6, 2.7, 3.1 and 3.2

  • Pypy 1.8, 1.9

To work with Python 2.6, the importlib module back-port must be installed. It is available on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iPOPO-0.5.1.tar.gz (97.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page