skip to navigation
skip to content

Not Logged In

iPOPO 0.5.9

A service-oriented component model framework

iPOPO: A component model for Python

iPOPO is a Python-based Service-Oriented Component Model (SOCM) based on Pelix, a dynamic service platform. They are inspired on two popular Java technologies for the development of long-lived applications: the iPOJO component model and the OSGi Service Platform. iPOPO enables to conceive long-running and modular IT services.

See for documentation and more information.

iPOPO is available on PyPI and is released under the terms of the Apache License 2.0.


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 and Python 3.4.

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.

Release notes: 0.5.9

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


  • iPOPO now works with IronPython (tested inside Unity 3D)


  • Components raising an error during validation goes in the ERRONEOUS state, instead of going back to INVALID. This avoids trying to validate them automatically.
  • The retry_erroneous() method of the iPOPO service and the retry shell command allows to retry the validation of an ERRONEOUS component.
  • The @SingletonFactory decorator can replace the @ComponentFactory one. It ensures that only one component of this factory can be instantiated at a time.
  • The @Temporal requirement decorator allows to require a service and to wait a given amount of time for its replacement before invalidating the component or while using the requirement.
  • @RequiresBest ensures that it is always the service with the best ranking that is injected in the component.
  • The @PostRegistration and @PreUnregistration callbacks allows the component to be notified right after one of its services has been registered or will be unregistered.


  • The generated 404 page shows the list of registered servlets paths.
  • The 404 and 500 error pages can be customized by a hook service.
  • The default binding address is back to “” instead of “localhost”. (for those who used the development version)


  • The ThreadPool class is now a cached thread pool. It now has a minimum and maximum number of threads: only the required threads are alive. A thread waits for a task during 60 seconds (by default) before stopping.
File Type Py Version Uploaded on Size
iPOPO-0.5.9-py2.py3-none-any.whl (md5) Python Wheel 2.7 2015-02-18 224KB
iPOPO-0.5.9.tar.gz (md5) Source 2015-02-18 162KB
  • Downloads (All Versions):
  • 16 downloads in the last day
  • 238 downloads in the last week
  • 514 downloads in the last month