Introduction

PyPackProxy is a caching proxy for Python package indexes (repositories) that conform to PEP 503 (Simple Repository API).

Besides caching files from an external repository PyPackProxy can host customized files for external projects (e.g. wheels created for projects that provide only source packages) or private projects (names must be different from projects in the repository). If the external repository in not available or if PyPackProxy is configured to run without one, all requests from PIP will be served from locally stored projects.

When not using an external package repository (index-url=false) the package files must be downloaded manually (e.g. with pip download) and put in the project directories within the storage-path directory. The name of a project directory is the lower-case project name.

See also: Configuration

Web-Interface

PyPackProxy provides a simple web-interface. It shows on its startpage a list with all locally stored projects. The names are links to the project pages (if not disabled; see Configuration).

In the administration area new project directories can be created or deleted, files can be uploaded to or deleted from those directories. Admin access can be disabled (see: Configuration).

Running PyPackProxy

To run PyPackProxy type:

$ pypackproxy path/to/config.file

PIP configuration

To use PyPackProxy with PIP use the --index-url command line argument or set the index-url option in pip.conf. The url must be the base URL of PyPackProxy with the path /simple appended, e.g. https://pypp.example.com:8888/simple.