This release is a pre-release and may not be stable for production use.
retread
A retread is a rebuilt tire -- retread rebuilds wheels and checks quality.
retread compares downstream rebuilds of upstream Python wheels to detect differences and bugs. It uses zipwire for efficient remote wheel access via HTTP range requests and pypi-simple to interact with package indexes.
Features
- Compare upstream and downstream wheels without downloading entire files
- Detect missing, extra, and modified files between wheel builds
- CRC-32 based fast comparison from ZIP central directory metadata
- Both synchronous and asynchronous APIs
- Pluggable HTTP backends: requests (default), httpx2, aiohttp
- CLI for quick comparisons
Installation
pip install retread
With optional async HTTP backends:
pip install retread[aiohttp] # aiohttp (async)
pip install retread[httpx2] # httpx2 (async, HTTP/2)
pip install retread[all] # all backends
Limitations
- CPython only -- PyPy and other Python implementations are not supported.
- Linux only -- Windows and macOS platform tags are not supported.
- Architecture-based matching -- Upstream wheel matching uses CPU
architecture suffixes (e.g.
x86_64,aarch64) to fuzzy-matchlinuxandmanylinuxplatform tags. Manylinux version specifiers are ignored; a downstreamlinux_x86_64wheel will match an upstreammanylinux_2_28_x86_64wheel. Musllinux wheels require an exact platform tag match.
License
Apache-2.0
Release files for retread 0.1.0a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| retread-0.1.0a2.tar.gz | 32.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| retread-0.1.0a2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.4 kB
Release files / retread-0.1.0a2.tar.gz
| Download URL | retread-0.1.0a2.tar.gz |
|---|---|
| Size | 32.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
044ded04a4450dfb6d2328c4c57a445df82656d77e4e4a76ea92550d23e7cbb9
|
|
BLAKE2b-256 checksum How to use checksums |
0f57c3d8a8a9ee6581fffc5527c249d17a4e24be6f22fecf5e24c9f04dbef179
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency logRelease files / retread-0.1.0a2-py3-none-any.whl
| Download URL | retread-0.1.0a2-py3-none-any.whl |
|---|---|
| Size | 26.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
576333d530318ee89accf32fb794d5b58a165f3a112e98125303b40ba8e1b2c7
|
|
BLAKE2b-256 checksum How to use checksums |
56bf5b0d6a682a3b20b0acfa830888b27dfe6cffa540d841a432ad735a7d03f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.
Transparency log