Skip to main content

A very simple egg fetcher

Project description

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

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

EggsPacker-0.1.tar.gz (4.5 kB view hashes)

Uploaded Source

Built Distribution

EggsPacker-0.1-py2.7.egg (9.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page