EggsPacker
==========

What is it ?
------------

EggsPacker allows you to put in a single directory a python egg and all
its dependencies as long as it is able to find them in a python index.

It is almost equivalent as running
"easy_install -zmaxd basket somepackage", with 2 important differences :

1.   The python version and target platform can be changed from the
     system ones. This allow to prepare all the necessary eggs for a
     py2.5 win32 distribution on a py2.7 linux (for example).

2.   EggsPacker will only work with eggs, no sources. So it
     requires an index that have all the dependencies available as eggs for
     the correct target platform / python version.

Disclaimer
----------

The implementation rely as much as possible on pkg_resources to resolve
the requirements and read the metadata, so there should be no wrong
version packed although I of course give no warranty of any kind.

Reading the package index on the other hand was tested only on a an index
builded by http://pypi.python.org/pypi/basketweaver/, so expect issues 
if hitting directly the pypi index.

Usage
-----

::

    Usage: packeggs [options] pkgname [pkgname [pkgname...]]

    Options:
      -h, --help            show this help message and exit
      -i INDEX, --index=INDEX
                            A Pypi compatible index URL. Default to pypi
      -t TARGETDIR, --targetdir=TARGETDIR
                            Target directory. Default: "basket".
      --python-version=PYTHON_VERSION
                            Target python version.
      --platform=PLATFORM   Target platform
      --unzip=UNZIP         Unzip the asked egg if present in the dependencies.
                            The special value "auto" will guess what to do with
                            with not-zip-safe flag, and "all" will force unzipping
                            of all the eggs. Can be specified several times.

Example
-------

The following command will get into the 'basket' directory the
ANicePackage-0.1-py2.5 egg and all its dependencies for the win32 platform,
while unzipping the eggs not marked as zip-safe plus forcely unzipping
ANicePackage::

    packeggs -i http://yourserver/your/package/index --python-version 2.5 --platform win32 --targetdir basket ANicePackage==0.1 --unzip auto --unzip ANicePackage


