Skip to main content

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:
status

To set up a development environment use:

nox --session=dev

To run unit tests and integration tests:

nox

Project details


Download files

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

Source Distribution

reproducibly-0.0.11.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

reproducibly-0.0.11-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file reproducibly-0.0.11.tar.gz.

File metadata

  • Download URL: reproducibly-0.0.11.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for reproducibly-0.0.11.tar.gz
Algorithm Hash digest
SHA256 e5b873bab5cf10bc9e1a3cb925b9053c4136f9309190d636ee6d6b2aef4e1c95
MD5 f8852f298de4ee8d20c3635d8263beea
BLAKE2b-256 0c50f57125032398463c462da3fb941785f7fa0143ba895059d0a53b243292e9

See more details on using hashes here.

File details

Details for the file reproducibly-0.0.11-py3-none-any.whl.

File metadata

File hashes

Hashes for reproducibly-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 f12e5d9d8bfd39e33e4774e1ecfea5a084c7683dd3088d192902ebabca7d4141
MD5 06a75cdc936a7592f2d8272ee071c754
BLAKE2b-256 3b048598fcb575dcbf1ac9ecc97991d2248e2878e10b509e00840b256a518b71

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page