Packaging multiple wheels in the same package

Nir Cohen nir36g at gmail.com
Wed Jul 6 14:43:15 EDT 2016


Hey all,

As part of working on Cloudify (http://github.com/cloudify-cosmo) we've had to provide a way for customers to install our plugins in an environment where PyPI isn't accessible. These plugins are sets of Python packages which necessarily depend on one another (i.e. a regular python package with dependencies).

We decided that we want to package sets of wheels together created or downloaded by `pip wheel`, add relevant metadata, package them together into a single archive (tar.gz or zip) and use the same tool which packs them up to install them later on, on the destination hosts.

We came up with a tool (http://github.com/cloudify-cosmo/wagon) to do just that and that's what we currently use to create and install our plugins.

While wheel solves the problem of generating wheels, there is no single, standard method for taking an entire set of dependencies packaged in a single location and installing them in a different location.

We thought it would be a good idea to propose a PEP for that and wanted to get your feedback before we start writing the proposal.

The logic behind the PEP is that there's a standard for creating a single python package and we would like to propose a layer above it to package multiple python packages either for offline environments or any other requirement a user may have.

We're currently working on a new rearchitected version of that tool to make it more pythonic and clean but the base stays the same.


We would greatly appreciate your feedback on this.

Thanks!


P.S. We encourage you to take a look at the repo (see the `rearchitecture` branch) and read the README.



More information about the Python-list mailing list