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.

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

Project details


Download files

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

Source Distributions

pipa-0.1.0.zip (13.3 kB view hashes)

Uploaded Source

pipa-0.1.0.tar.gz (7.8 kB view hashes)

Uploaded Source

Built Distribution

pipa-0.1.0-py33-none-any.whl (11.6 kB view hashes)

Uploaded Python 3.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