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.6.tar.gz (84.1 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.6-py3-none-win_amd64.whl (3.5 MB view details)

Uploaded Python 3Windows x86-64

pytail-0.1.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

pytail-0.1.6-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (6.9 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.6.tar.gz.

File metadata

  • Download URL: pytail-0.1.6.tar.gz
  • Upload date:
  • Size: 84.1 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.6.tar.gz
Algorithm Hash digest
SHA256 a3fbfb1a56d8f85dc743485f968eef1d0643aa6a393560677348398c64e84f30
MD5 77b5c64f650b3a4c8f350f72f6351925
BLAKE2b-256 6471ffd4a1e34e0d54a295541cfecbf2df8cf728528007d77abf85a6fcb520b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytail-0.1.6.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.6-py3-none-win_amd64.whl.

File metadata

  • Download URL: pytail-0.1.6-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.5 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.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ecd168255cb43bbf7a0992bf7a3f47b573c1cc8e2995bb85c006f49021e097bb
MD5 fff87dcfa309dc0ac943656785c734b6
BLAKE2b-256 84e3ded340a1552e24bfd097a15413e5ff4ab456ae1998ec0a2d2731bbe83b87

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytail-0.1.6-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.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pytail-0.1.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 671bdf8c435d70734df776b603a73c72ae04fae1a772a38106129339db80f588
MD5 d78fe18dd80143193fb693a82e24938a
BLAKE2b-256 38d6b4459e2b3c79ef34b6a12121720508f10f7d5ad5c4f937c9356df037e747

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytail-0.1.6-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.6-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.6-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 ca888459113c35251b4e9eb48a54f1abbfef060f5e8fed7ce22f7d381085431a
MD5 60b2f37d4f4252ce93e9497631002e18
BLAKE2b-256 eddf0f8fa7de73b2a3eb81f3738eda79dca2bc51ed3a5c8221d948031af5b58f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pytail-0.1.6-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

0.1.7

4 files

This release

0.1.6 This release

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