Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A very simple pypi cache

Project description

A very simple pypi cache.

features

  • uses aiohttp, aiofiles, inotipy
  • queries metadata via pypi JSON API
  • filesystem is the database
  • serve releases while downloading

todo

  • private channels with user, groups and permissions
  • use python-libaio for file stuff
  • nice ui

running the cache

# pypare --help
Usage: pypare [OPTIONS] COMMAND [ARGS]...

Options:
  --log-level [NOTSET|DEBUG|INFO|WARNING|ERROR|CRITICAL]
                                  The logging level.  [default: INFO]
  --loop [asyncio|uvloop]         Use a different loop policy.  [default:
                                  asyncio]
  --version                       Show the version and exit.
  --help                          Show this message and exit.

Commands:
  pypi  Run a simple pypi caching proxy.
# pypare pypi --help
Usage: pypare pypi [OPTIONS]

  Run a simple pypi caching proxy.

Options:
  -p, --port INTEGER              The port to run the server  [default: 3141]
  -h, --host TEXT                 The server host IP.  [default: 0.0.0.0]
  -b, --base-path PATH            The base path for this application.
                                  [default: /pypi]
  -c, --cache-root DIRECTORY      The cache directory, where files are stored.
                                  [default: ~/.cache/pypare]
  -u, --upstream-channel TEXT     The name of the upstream channel.
  --upstream-channel-url TEXT     The base API URL of the upstream channel.
  --upstream-channel-timeout INTEGER
                                  The timeout upstream is asked for new
                                  metadata.
  --plugin LIST                   A plugin in pkg_resources notation to load.
  --help                          Show this message and exit.

Run from virtual environment:

pip install pypare

pypare pypi --cache-root /tmp/pypi-data

Run in docker:

docker run -it diefans/pypare:latest pypi

Run as zipapp:

shiv pypare -c pypare -o ~/.local/bin/pypare -p ~/.pyenv/versions/3.7.0/bin/python

pypare pypi --cache-root /tmp/pypi-data

Using the cache

PIP_INDEX_URL=http://localhost:3141/pypi/pypi pip install tensorflow

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 pypare, version 0.3.3
Filename, size File type Python version Upload date Hashes
Filename, size pypare-0.3.3-py3-none-any.whl (68.4 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size pypare-0.3.3.tar.gz (20.8 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