Reproducible / Deterministic ZipFiles
A tool to generate consistent zip files.
Installation
pip install reproducible_zip
Usage
The module uses the same interface as the python builtin zipfile module:
python -m reproducible_zip
How does it work?
There are four tricks to building a deterministic zip:
-
Files must be added to the zip in the same order.
rzipsorts all directories and files (with directories first) before adding them to the zip archive. -
Files in the zip must have consistent timestamps. The timestamp of files and directories is set to the minimum timestamp for zipfiles: 1980-01-01 00:00:00.
-
Files in the zip must have consistent permissions. All permission bits are set
-rwxrwxrwxfor files anddrwxrwxrwxfor directories. -
The "create system" for all files is set to "unix-like" (3) to ensure the correct intrepretation of the external_attrs/permissons.
Metadata
Release files for reproducible_zip 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| reproducible_zip-0.3.0.tar.gz | 2.7 kB | Without provenance | Details for reproducible_zip-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| reproducible_zip-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for reproducible_zip-0.3.0-py3-none-any.whl |
Total release size: 6.6 kB
Release files / reproducible_zip-0.3.0.tar.gz
| Download URL | reproducible_zip-0.3.0.tar.gz |
|---|---|
| Size | 2.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a761e882358b3a0a2148ffc68c15cdccc00e5a650b359bbb45efe67a6a5f6b9
|
|
BLAKE2b-256 checksum How to use checksums |
9c65f023a676c9d3adbbd275074059b7fc9baaf5cf2275eb94cd18505d588697
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.2
|
Release files / reproducible_zip-0.3.0-py3-none-any.whl
| Download URL | reproducible_zip-0.3.0-py3-none-any.whl |
|---|---|
| Size | 3.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e22fe649c737dcbdbf4f179ffd27a3b53ac5a97ba5362ca5bb845b852c75aab8
|
|
BLAKE2b-256 checksum How to use checksums |
1eb748cfc41c5468d0ac1fcbf7998a35f6b0254bed5819850c4b1ae76c48e8b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.2
|
Security for reproducible_zip 0.3.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.