shrinkwrap: Python packaging for everything
===========================================
Shrinkwrap provides tools to create lightweight Python package wrappers around
non-Python software, and to install such software from project-specific
repositories using virtualenv and pip.
A shrinkwrap package is a minimal python package that downloads, compiles and
installs software to the virtualenv base directory. The shrinkwrap package
behaves just like a regular python package, so both shrinkwrap and non-
shrinkwrap packages can be dependencies of each other. We find that this
greatly simplifies deployment of Python packages that depend on compiled
libraries *without* requiring the use of system-wide packaging tools, like apt
or yum. Shrinkwrap is **not** an API wrapper generator like `SWIG
`_, but does make it easier to install C libraries into
a virtualenv before installing a separate Python wrapper around its API.
.. warning:: To avoid cluttering PyPI with non-Python software, please do not ever upload shrinkwrap-generated packages there! Hosting shrinkwrap packages yourself is easy, and described further in :ref:`running_package_index`.
Shrinkwrap is `available on PyPI `_ and can be installed via ``pip
install shrinkwrap``, ``easy_install shrinkwrap``, or by downloading the
package and installing with ``python setup.py install``.
For those interested in the newest features should use the development version
of shrinkwrap, `available on bitbucket `_::
hg clone http://bitbucket.org/seibert/shrinkwrap
Note that you cannot directly install shrinkwrap from the Mercurial repository
to a virtualenv with the ``pip -e`` command, as this appears to bypass our
post- installation tasks. Running ``python setup.py install`` from the cloned
repository is fine, however.
Contents
========
.. toctree::
:maxdepth: 2
how
packaging
api
roadmap
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`