PEP 626
E909747
PEP 626 is a Python Enhancement Proposal that precisely defines how Python should map executed bytecode instructions to source code lines, improving debugging, coverage measurement, and tooling accuracy.
All labels observed (1)
| Label | Occurrences |
|---|---|
| PEP 626 canonical | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T10763900 — 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 626 Context triple: [Python 3.10, implementsPEP, PEP 626]
-
A.
PEP 636
PEP 636 is a Python Enhancement Proposal that serves as a tutorial-style guide to the structural pattern matching feature introduced in Python 3.10.
-
B.
PEP 622
PEP 622 is a Python Enhancement Proposal that introduced the design for structural pattern matching syntax later adopted in Python 3.10.
-
C.
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.
-
D.
PEP 634
PEP 634 is the Python Enhancement Proposal that formally specifies the semantics of structural pattern matching introduced in Python 3.10.
-
E.
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.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: PEP 626 Target entity description: PEP 626 is a Python Enhancement Proposal that precisely defines how Python should map executed bytecode instructions to source code lines, improving debugging, coverage measurement, and tooling accuracy.
-
A.
PEP 636
PEP 636 is a Python Enhancement Proposal that serves as a tutorial-style guide to the structural pattern matching feature introduced in Python 3.10.
-
B.
PEP 622
PEP 622 is a Python Enhancement Proposal that introduced the design for structural pattern matching syntax later adopted in Python 3.10.
-
C.
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.
-
D.
PEP 634
PEP 634 is the Python Enhancement Proposal that formally specifies the semantics of structural pattern matching introduced in Python 3.10.
-
E.
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.
- F. None of above. chosen
Statements (46)
| Predicate | Object |
|---|---|
| instanceOf | Python Enhancement Proposal ⓘ |
| addresses | line number table semantics in CPython ⓘ |
| affects | CPython bytecode line number information ⓘ |
| aimsTo |
improve code coverage measurement
ⓘ
improve debugging accuracy ⓘ improve tooling accuracy ⓘ |
| author | Mark Shannon NERFINISHED ⓘ |
| belongsTo | Python PEP index NERFINISHED ⓘ |
| benefits |
coverage tool authors
ⓘ
debugger authors ⓘ static and dynamic analysis tool authors ⓘ |
| category |
Debugging
ⓘ
Interpreter semantics ⓘ Tooling ⓘ |
| clarifies |
how exceptions are associated with source lines
ⓘ
semantics of co_firstlineno and line number tables ⓘ |
| defines | precise mapping from executed bytecode instructions to source code lines ⓘ |
| discusses |
behavior of coverage tools
ⓘ
behavior of debuggers ⓘ behavior of tracing functions ⓘ |
| ensures |
backwards jumps do not arbitrarily change reported line numbers
ⓘ
every bytecode instruction has a well-defined source line ⓘ line number information is stable across minor code changes ⓘ line numbers are monotonic within a frame ⓘ |
| governs | mapping from bytecode offsets to source lines ⓘ |
| implementedIn | CPython 3.10 NERFINISHED ⓘ |
| improves |
reliability of branch coverage analysis
ⓘ
reliability of breakpoints ⓘ reliability of stack traces ⓘ reliability of stepping in debuggers ⓘ |
| language | Python NERFINISHED ⓘ |
| motivatedBy | inconsistent line number reporting in earlier Python versions ⓘ |
| motivates |
changes to CPython compiler line number generation
ⓘ
changes to CPython interpreter tracing behavior ⓘ |
| number | 626 ⓘ |
| pepUrl | https://peps.python.org/pep-0626/ ⓘ |
| proposes | well-defined rules for when line numbers change during execution ⓘ |
| relatedTo |
Python coverage tools
ⓘ
Python debugging tools ⓘ Python profilers ⓘ |
| repository | https://github.com/python/peps ⓘ |
| scope | CPython implementation details visible to tools NERFINISHED ⓘ |
| status | Accepted ⓘ |
| targetVersion | Python 3.10 NERFINISHED ⓘ |
| title | Precise line numbers for debugging and other tools ⓘ |
| type | Standards track PEP ⓘ |
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 626 Description of subject: PEP 626 is a Python Enhancement Proposal that precisely defines how Python should map executed bytecode instructions to source code lines, improving debugging, coverage measurement, and tooling accuracy.
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.