Skip to main content
Help us improve Python packaging – donate today!

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.

Usage

  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:

    [distutils]
    index-servers =
        pypi
        pipa
    
    [pypi]
    username: my_pypi.python.org_user
    password: pass
    
    [pipa]
    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 setup.py sdist upload -r pipa, and then install them again when needed.

Informations

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 setup.py

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

Code: https://github.com/Ivoz/pipa

Issues: https://github.com/Ivoz/pipa/issues

Release history Release notifications

This version
History Node

0.1.0

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
pipa-0.1.0-py33-none-any.whl (11.6 kB) Copy SHA256 hash SHA256 Wheel py33 Mar 26, 2014
pipa-0.1.0.tar.gz (7.8 kB) Copy SHA256 hash SHA256 Source None Mar 26, 2014
pipa-0.1.0.zip (13.3 kB) Copy SHA256 hash SHA256 Source None Mar 26, 2014

Supported by

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