Skip to content

Archive

Build Engineering

1 articles
Python 09 Sep 2026 9 min read

Build Reproducible ZIP Archives with SOURCE_DATE_EPOCH in Python 3.14

A build artifact can contain exactly the same application bytes and still produce a different checksum every time it is built. ZIP timestamps are one common reason. That matters when checksums are used for release verification, artifact caching, provenance, binary transparency, or simply deciding whether a build changed. If irrelevant metadata changes on every run, byte-for-byte comparison stops being useful. Python 3.14 makes one important part of this easier: zipfile.ZipFile.writestr() now respects the SOURCE_DATE_EPOCH environment variable. When it is set, string-named entries written with writestr() can use the supplied epoch instead of the current time.