Skip to main content

Simple HTTPS PyPI server

Project description

Pipa is a sparten local PyPI server.

It requires Python 3, and runs over self-signed SSL.

This means pip won’t give you any warnings when using it.

NOTE: It does not currently fetch from PyPI for other packages.


  1. Find help on any pipa command with pipa <command> -h.

  2. Initialize

    run pipa init to create a packages folder, server certificates, and configuration file (pipa.cfg)

  3. Add a user

    use pipa user -a <username> <password> to add a new user to the confg that will be able to upload files to pipa.

  4. Run the server

    Run pipa serve to serve with configuration from your config.

  5. Configure pip and distutils

    To install packages from pipa, pip needs to be given pipa’s index url, and its cert bundle to authenticate with. This (bundle.pem) should be available to both pip and the server; you can copy it to where you need. The index url should be printed when starting the server. You can specify these with the flags --index-url=... and --cert=...; or the environment variables PIP_INDEX_URL and PIP_CERT; or in a configuration file.

    pipa allows uploading packages. To configure this, edit your ~/.pypirc to look something like this:

    index-servers =
    username: my_pypi.python.org_user
    password: pass
    repository: https://localhost:5351/upload/
    username: <username>
    password: <password>

    Making use of the values you entered in step 2. See here for more info.

  6. Upload packages using python sdist upload -r pipa, and then install them again when needed.


Q & A

Q: Can you add caching from PyPI?

A: I plan to in the future. Pull requests are very welcome. In the mean time, also check out devpi and pypimirror.

Q: Why another PyPI Developer Cache?

A: I couldn’t see one that served over SSL out of the box, and/or that you could upload to from

Q: Why Python 3 only?

A: Because it’s nicer to code in and I want more Python 3 apps, so I made one.

Q: Are pull requests welcome?

A: Indeed they are!

License: MIT



Project details

Release history Release notifications

Download files

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

Files for pipa, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size pipa-0.1.0-py33-none-any.whl (11.6 kB) File type Wheel Python version py33 Upload date Hashes View hashes
Filename, size pipa-0.1.0.tar.gz (7.8 kB) File type Source Python version None Upload date Hashes View hashes
Filename, size (13.3 kB) File type Source Python version None Upload date Hashes View hashes

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