PEP 552

E925734

PEP 552 is a Python Enhancement Proposal that introduced deterministic, hash-based .pyc files to improve reproducibility and caching behavior in Python.

All labels observed (3)

How this entity was disambiguated

Statements (47)

Predicate Object
instanceOf Python Enhancement Proposal ⓘ
addsField flags field in pyc header ⓘ
hash field in pyc header ⓘ
affectsFileType .pyc files ⓘ
Python bytecode cache files ⓘ
aimsTo improve .pyc caching behavior ⓘ
improve build reproducibility ⓘ
author Benjamin Peterson ⓘ
category Standards Track ⓘ
createdBy Benjamin Peterson ⓘ
definesFlag checked-hash pyc flag ⓘ
timestamp pyc flag ⓘ
unchecked-hash pyc flag ⓘ
definesMode hash-based pyc invalidation mode ⓘ
timestamp-based pyc invalidation mode ⓘ
unchecked-hash pyc invalidation mode ⓘ
discussedOn python-dev mailing list ⓘ
discusses backwards compatibility for pyc files ⓘ
pyc header format ⓘ
ensures pyc content depends only on source and options ⓘ
hasTitle Deterministic pycs ⓘ
hostedAt https://peps.python.org/pep-0552/ ⓘ
https://www.python.org/dev/peps/pep-0552/ ⓘ
implementedInVersion Python 3.7 ⓘ
introducesConcept deterministic pyc compilation ⓘ
hash-based pyc invalidation ⓘ
language Python ⓘ
modifiesComponent Python import system ⓘ
compileall module ⓘ
py_compile module ⓘ
motivatedBy limitations of timestamp-based invalidation ⓘ
need for deterministic builds ⓘ
pepNumber 552 ⓘ
proposes deterministic .pyc files ⓘ
hash-based .pyc files ⓘ
reduces spurious pyc recompilation ⓘ
relatedTo PEP 488 ⓘ
Python importlib ⓘ
linked to: importlib
replacesBehavior non-deterministic timestamp-based pyc generation ⓘ
requiresChangeTo CPython interpreter ⓘ
status Accepted ⓘ
supportsUseCase content-addressable pyc caches ⓘ
networked or shared pyc caches ⓘ
reproducible Python builds ⓘ
targetsImplementation CPython ⓘ
type Standards Track PEP ⓘ
versionIntroduced Python 3.7.0 ⓘ

How these facts were elicited

Referenced by (3)

Full triples — surface form annotated when it differs from this entity's canonical label.

Python 3.8 → hasPEP → PEP 552 ⓘ
Python 3.7 → implementsPEP → PEP 552 (Deterministic pyc files) ⓘ
linked to: PEP 552
Python 3.7 → implementsPEP → PEP 552 (Hash-based .pyc files) ⓘ
linked to: PEP 552