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]
  --cache-timeout INTEGER     The age of metatdata, when it will be refreshed.
                              [default: 86400]
  --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-dir /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-dir /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.0.tar.gz (20.5 kB view hashes)

Uploaded source

Built Distribution

pypare-0.3.0-py3-none-any.whl (67.5 kB view hashes)

Uploaded py3

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 NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page