Skip to main content

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

Project details


Download files

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

Source Distribution

pypare-0.3.1.tar.gz (20.6 kB view hashes)

Uploaded Source

Built Distribution

pypare-0.3.1-py3-none-any.whl (68.1 kB view hashes)

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