Skip to main content

provides an unauthenticated plain HTTP proxy so pip can install packages from S3

Project description

Pip S3 Proxy

An HTTP frontend for public and private S3 buckets so that pip can install packages from S3.

It's based on https://github.com/rhelmer/caching-s3-proxy and supports many of the same features. Thank you rhelmer!

It works by wrapping pip. You run 'pipsss' instead of 'pip' - pipsss starts a web server in the background and then passes your CLI parameters to pip. At the moment you need to add an extra-index-url to the command line but in the future we might have pipsss add that itself.

Example:

  python setup.py install
  (set up your s3 credentials however you like to do that)
  pipsss install --extra-index-url http://localhost:8000/my-pypi-bucket my-private-package

You can still use the web server in a standalone mode. It works like caching-s3-proxy.

Example:

  python setup.py install
  (set up your s3 credentials however you like to do that)
  pip-s3-proxy &
  curl localhost:8000/my_bucket/v1/my_file.txt

If you want to listen on a different port, just set the PORT variable:

  PORT=9999 pip-s3-proxy

Alternatively, you can run under uwsgi. It's safe to use multiple workers processes (the shared file cache uses file locking to allow concurrency):

  uwsgi -w proxy.wsgi --http=localhost:8000 --workers=10

If you want to put this behind Nginx or Apache, use a socket instead:

  uwsgi -w proxy.wsgi -s /var/run/pip-s3-proxy.sock --workers=10

Then see http://uwsgi-docs.readthedocs.org/en/latest/Nginx.html or http://uwsgi-docs.readthedocs.org/en/latest/Apache.html

Project details


Download files

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

Files for pip-s3-proxy, version 0.2
Filename, size File type Python version Upload date Hashes
Filename, size pip_s3_proxy-0.2-py2-none-any.whl (12.2 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size pip_s3_proxy-0.2-py3-none-any.whl (12.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pip-s3-proxy-0.2.tar.gz (11.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page