skip to navigation
skip to content

iPOPO 0.5.1

A service-oriented component model framework

Latest Version: 0.6.5


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

See for documentation and more information.


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

More information at

Release notes

iPOPO 0.5

API Changes

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


  • Added this “release notes” page to the web site
  • 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()
  • Components with a pelix.ipopo.auto_restart property set to True are automatically re-instantiated after their bundle has been updated.
  • 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:


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


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


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


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.

File Type Py Version Uploaded on Size
iPOPO-0.5.1.tar.gz (md5) Source 2013-07-05 94KB