Skip to main content

An utility to generate a local PyPI cache for selected packages based on the PyPI.org repositories.

Project description

pypickup

A tool to download packages from PyPI and save them locally, building a directory tree that fulfills PEP 503. Properly configured, pip will install packages from there as if it was downloading them from the PyPI repository itself.

For example, the following commands will download all final versions (no dev versions), source distributions of numpy into the .pypickup folder, and then install the lates compatible version from there.

pypickup add -s -p ./.pypickup numpy
pip install --index-url ./.pypickup numpy

Commands

An -h flag can be used on any command to display all the available options and its usage. For instance:

pypickup add -h

To add a package for the first time:

pypickup add numpy

This will create a folder in the default location (~/.pypickup/) in which all the stablished files (.whl and .zip) for the specified package will be downloaded. Besides, it will create the corresponding metadata files (index.html) to track that package. The next time you want to synchronize the same package against the PyPI remote repository, you should do:

pypickup update numpy

This will download the new packages available in the remote, in case there is any. It'll do nothing otherwise. It also updates the index.html of the indicated package with the new downloaded packages, as expected.

2 more commands are available to remove packages and to list the available ones already added:

pypickup rm numpy

pypickup list

If we specify a package for the 'list' command, it will show a list of the downloaded distributions themselves.

pypickup list numpy

Development

In order to speed up development, we recommend an editable installation:

pip install --editable .

Project details


Download files

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

Source Distribution

pypickup-0.1.1.tar.gz (21.9 kB view hashes)

Uploaded Source

Built Distribution

pypickup-0.1.1-py3-none-any.whl (23.4 kB view hashes)

Uploaded Python 3

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