Skip to main content
Help us improve Python packaging – donate today!

A service-oriented component model framework

Project Description

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

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

iPOPO 0.5.6


  • Added samples to the project repository
  • Removed the static website from the repository
  • Added the project to Coveralls
  • Increased code coverage


  • Added a @BundleActivator decorator, to define the bundle activator class. The activator module variable should be replaced by this decorator.
  • Renamed specifications constants: from XXX_SPEC to SERVICE_XXX


  • Added a waiting list service: instantiates components as soon as the iPOPO service and the component factory are registered
  • Added @RequiresMap handler
  • Added an if_valid parameter to binding callbacks decorators: @Bind, @Update, @Unbind, @BindField, @UpdateField, @UnbindField. The decorated method will be called if and only if the component valid.
  • The get_factory_context() from decorators becomes public to ease the implementation of new decorators

Remote Services

  • Large rewriting of Remote Service core modules
    • Now using OSGi Remote Services properties
    • Added support for the OSGi EDEF file format (XML)
  • Added an abstract class to easily write RPC implementations
  • Added mDNS service discovery
  • Added an MQTT discovery protocol
  • Added an MQTT-RPC protocol, based on Node.js MQTT-RPC module
  • Added a Jabsorb-RPC transport. Pelix can now use Java services and vice-versa, using:


  • Enhanced completion with readline
  • Enhanced commands help generation
  • Added arguments to filter the output of bl, sl, factories and instances
  • Corrected prompt when using readline
  • Corrected write_lines() when not giving format arguments
  • Added an echo command, to test string parsing


  • Added support for managed service factories in ConfigurationAdmin
  • Added an EventAdmin-MQTT bridge: events from EventAdmin with an event.propage property are published over MQTT
  • Added an early version of an MQTT Client Factory service


  • Added a misc package, with utility modules and bundles:
    • eventadmin_printer: an EventAdmin handler that prints or logs the events it receives
    • jabsorb: converts dictionary from and to the Jabsorb-RPC format
    • mqtt_client: a wrapper for the Paho MQTT client, used in MQTT discovery and MQTT-RPC.

Release history Release notifications

History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
iPOPO-0.5.6.tar.gz (150.7 kB) Copy SHA256 hash SHA256 Source None Apr 28, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page