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

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.

Source Distribution

pypare-0.3.3.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

pypare-0.3.3-py3-none-any.whl (68.4 kB view details)

Uploaded Python 3

File details

Details for the file pypare-0.3.3.tar.gz.

File metadata

  • Download URL: pypare-0.3.3.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for pypare-0.3.3.tar.gz
Algorithm Hash digest
SHA256 e328fd15a021e8c75a82740e798450bcf55d275c8af1d6f028087a0234dbc02d
MD5 22ad0e8e0140a81832654191345be72c
BLAKE2b-256 042ed06fa307b7f7312fda491888cdef0c44b88273487f6dfc8ac217b1a33250

See more details on using hashes here.

Provenance

File details

Details for the file pypare-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: pypare-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 68.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for pypare-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d020d2a6ee490df2d1153bf70f9e68d85fe6b811d1b7dd5f278695970c416fc4
MD5 8bb785fa7a74406c71d3010fd140e4bc
BLAKE2b-256 a940d8c54594cdd1c64ef95d6cb19a2c8c5daea886ca5b42438f8143b3a5d725

See more details on using hashes here.

Provenance

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