Skip to main content

A script to create a partial PyPI mirror

Project description

pypi-mirror is a small script to generate a partial PyPI mirror. It relies on pip to do the most difficult part of the job (downloading a package and its dependencies).

Why?

Because most of the time you don’t need a full PyPI mirror but only a mirror that contains the packages you use. If you want a full PyPI mirror you should look at bandersnatch.

Installation

You can install pypi-mirror using pip:

pip install python-pypi-mirror

How to use it?

The script provides several commands to manage your mirror. To find out which commands are available, type:

pypi-mirror --help

Every command provides its own help message. So for example to get the help message of the download command, type:

pypi-mirror download --help

The commands that you will probably use the most are the download command and the create command. For example to create a mirror which contains the requests package and its dependencies, you can type the following:

pypi-mirror -d downloads download requests
pypi-mirror -d downloads create -m simple

The first command will create a downloads directory into the current directory and use pip to download the requests package and its dependencies into the newly created directory. Then the create command will create a simple directory into the current directory and will build the mirror inside this newly created directory. You can add new packages by repeating this sequence of commands.

To make your mirror available through HTTP, you can point your HTTP server of choice to the simple directory. For exemple, type the following command into the current directory:

python3 -m http.server

It will start a HTTP server that will serve file from the current directory (which should contains the downloads directory and the simple directory). You can then install packages using your brand new mirror using the following command:

pip install -i http://127.0.0.1:8000/simple requests

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
python_pypi_mirror-3.0.0-py3-none-any.whl (7.7 kB) Copy SHA256 hash SHA256 Wheel py3
python-pypi-mirror-3.0.0.tar.gz (6.4 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page