skip to navigation
skip to content

iPOPO 0.5.4

A service-oriented component model framework

Latest Version: 0.6.5

iPOPO : A component model for Python

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


Pelix and iPOPO are tested using Tox and Travis-CI with:

  • Python 2.6, 2.7, 3.2 and 3.3

It is also manually tested with:

  • Pypy 1.9

To use iPOPO on Python 2.6, it is necessary to install the importlib module back-port, using pip install importlib. To execute iPOPO tests on this version, you also need to install the unittest2 module.

iPOPO is available on PyPI.

Release notes

See the CHANGELOG.rst file to see what changed in previous releases.

iPOPO 0.5.4


  • 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.
  • @Requires accepts only one specification
  • Added a context use_ipopo(bundle_context), to simplify the usage of the iPOPO service, using the keyworkd with.
  • get_factory_details(name) method now also returns the ID of the bundle provided the component factory, and the component instance properties.
  • 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.

Bugs fixed

  • Fixed support of Python 2.6.
  • Replaced Python 3 imports conditions by try-except blocks.
  • 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 supresses a socket bug/feature on BSD (including Mac OS).
  • The make_table() method now accepts generators as parameters.
  • Remote commands handling removed: get_methods_names() is not used anymore.
File Type Py Version Uploaded on Size
iPOPO-0.5.4.tar.gz (md5) Source 2013-10-01 104KB