skip to navigation
skip to content

Not Logged In

iPOPO 0.5.6

A service-oriented component model framework

Latest Version: 0.6.2

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 https://ipopo.coderxpress.net for documentation and more information.

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

Feedback

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

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

Compatibility

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

Project

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

Framework

  • 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

iPOPO

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

Shell

  • 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

Services

  • 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

Miscellaneous

  • 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.
 
File Type Py Version Uploaded on Size
iPOPO-0.5.6.tar.gz (md5) Source 2014-04-28 147KB
  • Downloads (All Versions):
  • 84 downloads in the last day
  • 667 downloads in the last week
  • 2406 downloads in the last month