When will Pelix be able to load and execute eggs as opposed to just python modules?

11 views
Skip to first unread message

Freemon Johnson

unread,
Mar 31, 2016, 12:59:26 PM3/31/16
to ipopo-dev
Hello,

A you already know existing OSGI implementation written for Java can load JARs as opposed to just classes or bytecode. When do you think this capability will be introduced to iPOPO/Pelix?

Thanks,
Freemon

Thomas Calmant

unread,
Mar 31, 2016, 4:17:49 PM3/31/16
to ipopo-dev
Hi,

I had this capability in mind when the project started but I left it aside due to the lack of use cases.
The main issue is that the whole Java OSGi bundle loading is based on Java's class loader concept, which have no equivalent in Python.
Also, the term "bundle" in iPOPO should be redefined, because a simple module and an egg/wheel file, i.e. a set of modules, would both be considered as a bundle.

I had multiple ideas in mind to allow/ease this kind of deployment (but none have been implemented yet), including:
- sharing a bundle context for multiple modules: this would work with packages too;
- having a hierarchy of contexts: each module is a bundle, but with a special parent context describing its package;
- having a special module in packages or a metadata file in eggs/wheels to describe which module should be installed;
- adding support for a "minimalist virtual environment", i.e. a temporary folder (like OSGi's cache folder) where to extract/install eggs and wheels using pip. The modules would then be installed in Pelix like any other one.

The solution depends a lot on the way it will be used.
Could you describe some use cases that requires the installation of an egg file (or package) as a whole?

Cheers,
Thomas
Reply all
Reply to author
Forward
0 new messages