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