DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
If you have a project that is built with Apache Maven, refer to the Configuring for Reproducible Builds guide.
Python
Modern Python tooling (For example Flit and Hatch support reproducible builds for pure - Python project. You can read more about reproducible build support in Flit reproducible build docs and Hatch reproducible build docs. It's a bit more complex if your assets require native compilation, but If you can assure that your native compilation produces reproducible libraries on it's own the packaging tool will produce reproducible builds..
Few guidelines:
- You should be following the modern ways of packaging projects - ideally define your project's metadata in pyproject.toml (PEP-621) and specify your build requirements as pinned dependencies following PEP-518
- In order to get plausible looking packages where files have "real" modification dates, you shoud - in your build process - set SOURCE_DATE_EPOCH environment variable before running
hatch buildor flit build - it should be a fixed timestamp - It is recommended that you store your timestamp in the repository and update it whenever relase is being prepared (so for example when release notes change). Example how it is stored (in yaml file) and updated automatically (with pre-commit) in Airflow
You can read more about reproducible build support in Flit reproducible build docs and Hatch reproducible build docs.
If you prepare source-tarball, you can have script similar to this one - which takes the same source_date_epoch and repacks the .tar.gz file to be reproducible.