
iPOPO v3.0.0 has been released! What is iPOPO ? ============= iPOPO is a Python-based Service-Oriented Component Model (SOCM) based on Pelix, a dynamic service platform. They are inspired by two popular Java technologies for the development of long-lived applications: the iPOJO component model and the OSGi Service Platform. iPOPO enables the development of long-running and modular IT services. It is based on OSGi concepts: - Bundle: a Python module imported using Pelix and associated to a context. A bundle has a life-cycle (install, start, updated, stop, uninstall) - Service: a Python object registered in a service registry, associated to a specification and to properties. - Component: the instance of a class described/manipulated by iPOPO decorators Components are bound together by the specification(s) of the service(s) they provide. The required services are injected into components by iPOPO. For more information, see https://ipopo.readthedocs.io/ iPOPO is released under the terms of Apache Software License 2.0 What's new in 3.0.0 ================ * Dropped support for Python 2.7 and versions earlier than 3.10, it's time to move on * Kept compatibility with iPOPO 1.0 on API level: it is possible to link iPOPO v1 and v3 via Remote Services * Added type hints where possible * Pelix and iPOPO now support types in specifications * Documentation updates * Moved from Travis-CI to GitHub actions to test project against Python 3.10, 3.11 and 3.12 You can take a look at the documentation at https://ipopo.readthedocs.io/ iPOPO is available on PyPI: https://pypi.org/project/iPOPO/ Source is available on GitHub: https://github.com/tcalmant/ipopo Feel free to send feedback on your experience of Pelix/iPOPO, via the mailing lists: * Users list: https://groups.google.com/g/ipopo-users * Developers list: https://groups.google.com/g/ipopo-dev * GitHub discussions: https://github.com/tcalmant/ipopo/discussions Have fun!
participants (1)
-
Thomas Calmant