Skip to main content

PyTail

CI Release PyPI Python

pytail is a small PyPI caching proxy. It exposes a Python Simple Repository API endpoint, fetches packages from upstream on demand, and keeps downloaded files in a local cache.

It is useful when you want faster repeated installs, a simple shared package cache, or a local endpoint for PyPI and PyTorch wheel indexes.

Features

  • PyPI-compatible /simple/ endpoint for pip and uv
  • lazy caching of project pages and package files
  • optional cache size limit with least-recently-used cleanup
  • PyTorch wheel index proxy under /pytorch-wheels/
  • HTML and JSON Simple API responses

Install

Install from PyPI:

pip install pytail

Or install from source:

cargo install --path .

Run

After installation:

pytail \
  --bind 127.0.0.1:3141 \
  --cache-dir .cache/pytail

From a source checkout:

cargo run -- \
  --bind 127.0.0.1:3141 \
  --cache-dir .cache/pytail

Then use it as the package index:

uv pip install --index-url http://127.0.0.1:3141/simple/ requests
pip install --index-url http://127.0.0.1:3141/simple/ requests

Open the local index in a browser:

http://127.0.0.1:3141/simple/

PyTorch Wheels

PyTorch wheel indexes are available under /pytorch-wheels/.

For example, this upstream command:

pip install torch --index-url https://download.pytorch.org/whl/cu126

can use the local cache instead:

pip install torch --index-url http://127.0.0.1:3141/pytorch-wheels/cu126

If a package needs both PyTorch wheels and normal PyPI packages:

pip install torch \
  --index-url http://127.0.0.1:3141/pytorch-wheels/cu126 \
  --extra-index-url http://127.0.0.1:3141/simple/

Options

Common options:

  • --bind: listen address, default 127.0.0.1:3141
  • --cache-dir: cache directory, default .cache/pytail
  • --cache-max-size: max file cache size, default 0 for unlimited; examples: 512MiB, 2G, 10GB
  • --upstream-base-url: PyPI-compatible upstream, default https://pypi.org
  • --torch-url: PyTorch wheel upstream, default https://download.pytorch.org/whl/
  • --project-cache-ttl-secs: project page refresh interval, default 900
  • --request-timeout-secs: upstream request timeout, default 15
  • --verbose: enable debug logs

Build

Build the Rust binary:

cargo build --release

Build a Python wheel with maturin:

maturin build --release

The wheel installs the pytail command.

Download files

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

Source Distribution

pytail-0.1.7.tar.gz (91.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pytail-0.1.7-py3-none-win_amd64.whl (3.7 MB view details)

Uploaded Python 3Windows x86-64

pytail-0.1.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pytail-0.1.7-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (7.6 MB view details)

Uploaded Python 3macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file pytail-0.1.7.tar.gz.

File metadata

  • Download URL: pytail-0.1.7.tar.gz
  • Upload date:
  • Size: 91.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pytail-0.1.7.tar.gz
Algorithm Hash digest
SHA256 998684d169215db079850b30381b55747bd655d43844516acf0a5ad5a031ae70
MD5 5e28b367edb4b53862c653b222f2dc99
BLAKE2b-256 e5d29bf19fe52ee8e8c5dc1d0433ee7a4393cb42ea1fa77497171fb225c78dec

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytail-0.1.7.tar.gz:

Publisher: release.yml on AndPuQing/PyTail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytail-0.1.7-py3-none-win_amd64.whl.

File metadata

  • Download URL: pytail-0.1.7-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pytail-0.1.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0674fa57953cf58dd588e7b4413a25d48476386164a6f3a02d72fc99b616fd87
MD5 c75bcc3c2305fe67e32b1272e943723a
BLAKE2b-256 313fa67529af64a5eaa1b15d0fad4cd6bda66f14e41cb85757bae812a05a5b5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytail-0.1.7-py3-none-win_amd64.whl:

Publisher: release.yml on AndPuQing/PyTail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytail-0.1.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pytail-0.1.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d76017caad71c39accc55adb98907db1743e346a3cbd7f7bf09da63b0839088
MD5 79d30351ed2021842d04f659be352262
BLAKE2b-256 1ea3dbd727756274821491fcf25a9ef164a1c49a4d6b7e3f41a6c641290d3bdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytail-0.1.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on AndPuQing/PyTail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pytail-0.1.7-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for pytail-0.1.7-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 c5189430bfa0666b3dc340b98bea08ecec099f4c30b4afbbf23703a3d6f66243
MD5 faf52f74cf40a0e17dbf922fb395d89b
BLAKE2b-256 d0cf15aaa88f5908d209ea51633b6dc422e8662dc540720eb8e97f742847b7c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytail-0.1.7-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on AndPuQing/PyTail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.11

4 files

0.1.10

4 files

0.1.9

4 files

0.1.8

4 files

This release

0.1.7 This release

4 files

0.1.6

4 files

0.1.5

4 files

0.1.4

4 files

0.1.3

4 files

0.1.2

4 files

0.1.1

4 files

0.1.0

4 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page