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 (1)
| Label | Occurrences |
|---|---|
| PEP 552 canonical | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T10851828 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: PEP 552 Context triple: [Python 3.8, hasPEP, PEP 552]
-
A.
PEP 622
PEP 622 is a Python Enhancement Proposal that introduced the design for structural pattern matching syntax later adopted in Python 3.10.
-
B.
PEP 695
PEP 695 is a Python Enhancement Proposal that introduces a new, more concise syntax for type parameter declarations to improve the language’s support for generics and static typing.
-
C.
PEP 657
PEP 657 is a Python enhancement proposal that improves error reporting by adding fine-grained location information (such as per-expression line and column data) to tracebacks.
-
D.
PEP 624
PEP 624 is a Python Enhancement Proposal that specifies the removal of the Py_UNICODE encoder APIs from the CPython C API to streamline and modernize Unicode handling in Python.
-
E.
PEP 612
PEP 612 is a Python Enhancement Proposal that introduces support for parameter specification variables to improve typing of higher-order functions and decorators in Python’s type system.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: PEP 552 Target entity description: PEP 552 is a Python Enhancement Proposal that introduced deterministic, hash-based .pyc files to improve reproducibility and caching behavior in Python.
-
A.
PEP 622
PEP 622 is a Python Enhancement Proposal that introduced the design for structural pattern matching syntax later adopted in Python 3.10.
-
B.
PEP 695
PEP 695 is a Python Enhancement Proposal that introduces a new, more concise syntax for type parameter declarations to improve the language’s support for generics and static typing.
-
C.
PEP 657
PEP 657 is a Python enhancement proposal that improves error reporting by adding fine-grained location information (such as per-expression line and column data) to tracebacks.
-
D.
PEP 624
PEP 624 is a Python Enhancement Proposal that specifies the removal of the Py_UNICODE encoder APIs from the CPython C API to streamline and modernize Unicode handling in Python.
-
E.
PEP 612
PEP 612 is a Python Enhancement Proposal that introduces support for parameter specification variables to improve typing of higher-order functions and decorators in Python’s type system.
- F. None of above. chosen
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 NERFINISHED ⓘ |
| category | Standards Track ⓘ |
| createdBy | Benjamin Peterson NERFINISHED ⓘ |
| 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 NERFINISHED ⓘ |
| 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 NERFINISHED ⓘ |
| introducesConcept |
deterministic pyc compilation
ⓘ
hash-based pyc invalidation ⓘ |
| language | Python NERFINISHED ⓘ |
| 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
NERFINISHED
ⓘ
Python importlib NERFINISHED ⓘ |
| replacesBehavior | non-deterministic timestamp-based pyc generation ⓘ |
| requiresChangeTo | CPython interpreter NERFINISHED ⓘ |
| status | Accepted ⓘ |
| supportsUseCase |
content-addressable pyc caches
ⓘ
networked or shared pyc caches ⓘ reproducible Python builds ⓘ |
| targetsImplementation | CPython NERFINISHED ⓘ |
| type | Standards Track PEP NERFINISHED ⓘ |
| versionIntroduced | Python 3.7.0 ⓘ |
How these facts were elicited
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: PEP 552 Description of subject: PEP 552 is a Python Enhancement Proposal that introduced deterministic, hash-based .pyc files to improve reproducibility and caching behavior in Python.
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.