Reproducibly build Python packages
Project description
reproducibly.py
Introduction / Reproducibly build Python packages.
This project is a convenient wrapper around build and cibuildwheel that sets metadata like file modification times, user and group IDs and names, and file permissions predictably. The code can be used from PyPI or as a single file with inline script metadata.
Usage
Command to run from PyPI and view help:
pipx run reproducibly --help
Command to run from a local file and view help:
pipx run ./reproducibly.py --help
Output:
usage: reproducibly.py [-h] [--version] input [input ...] output
Reproducibly build Python packages
features:
- Builds a source distribution (sdist) from a git repository
- Builds a wheel from a sdist
- Resets metadata like user and group names and ids to predictable values
- By default uses the last commit date and time from git
- Respects SOURCE_DATE_EPOCH when building a sdist
- Single file script with inline script metadata or PyPI package
positional arguments:
input Input git repository or source distribution
output Output directory
options:
-h, --help show this help message and exit
--version show program's version number and exit
Development
This project uses Nox.
Builds are run every day to check for reproducibility:
To set up a development environment use:
nox --session=dev
To run unit tests and integration tests:
nox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file reproducibly-0.0.12.tar.gz
.
File metadata
- Download URL: reproducibly-0.0.12.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f786d2be89fc2f9e99403eb29dc34ba90e02d4af8ad0c1cd1f38580c251c077b |
|
MD5 | d74beeae3460a80198c02ef16c3ad92d |
|
BLAKE2b-256 | 008fd3c6a726d187811d420cf50f9e605a52f390b993c6bfaece355040eb6a0c |
File details
Details for the file reproducibly-0.0.12-py3-none-any.whl
.
File metadata
- Download URL: reproducibly-0.0.12-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e37bc61cd401b48ae09883864fd8d0efff84277493724207eff9c1b05f686bf |
|
MD5 | 5b199e9981d72c49b08e74e94b73424a |
|
BLAKE2b-256 | 1c46eda4c5af9454e83164b422c260b59644c11025fc74606d3c29c078c8573f |