Typing PEPs
Introduction
This is the index of all Python Enhancement Proposals (PEPs) labelled under the ‘Typing’ topic. This is a sub-index of PEP 0, the PEP index.
Many recent PEPs propose changes to Python’s static type system or otherwise relate to type annotations. They are listed here for reference.
Index by Category
Other Informational PEPs
PEP | Title | Authors | |
---|---|---|---|
IF | 482 | Literature Overview for Type Hints | Langa |
IF | 483 | The Theory of Type Hints | GvR, Levkivskyi |
Accepted PEPs (accepted; may not be implemented yet)
PEP | Title | Authors | |
---|---|---|---|
SA | 544 | Protocols: Structural subtyping (static duck typing) | Levkivskyi, Lehtosalo, Langa |
SA | 563 | Postponed Evaluation of Annotations | Langa |
SA | 586 | Literal Types | Lee, Levkivskyi, Lehtosalo |
SA | 589 | TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys | Lehtosalo |
SA | 591 | Adding a final qualifier to typing | Sullivan, Levkivskyi |
SA | 593 | Flexible function and variable annotations | Varoquaux, Kashin |
SA | 604 | Allow writing union types as X | Y | PRADOS, Moss |
SA | 612 | Parameter Specification Variables | Mendoza |
SA | 613 | Explicit Type Aliases | Zhu |
SA | 646 | Variadic Generics | Mendoza, Rahtz, Srinivasan, Siles |
SA | 647 | User-Defined Type Guards | Traut |
SA | 655 | Marking individual TypedDict items as required or potentially-missing | Foster |
SA | 673 | Self Type | Srinivasan, Hilton-Balfe |
SA | 675 | Arbitrary Literal String Type | Srinivasan, Bleaney |
SA | 681 | Data Class Transforms | De Bonte, Traut |
Open PEPs (under consideration)
PEP | Title | Authors | |
---|---|---|---|
S | 649 | Deferred Evaluation Of Annotations Using Descriptors | Hastings |
S | 688 | Making the buffer protocol accessible in Python | Zijlstra |
S | 692 | Using TypedDict for more precise **kwargs typing | Magiera |
S | 695 | Type Parameter Syntax | Traut |
S | 696 | Type defaults for TypeVarLikes | Hilton-Balfe |
S | 698 | Override Decorator for Static Typing | Troxler, Xu, Zhu |
S | 702 | Marking deprecations using the type system | Zijlstra |
Finished PEPs (done, with a stable interface)
PEP | Title | Authors | |
---|---|---|---|
SF | 484 | Type Hints | GvR, Lehtosalo, Langa |
SF | 526 | Syntax for Variable Annotations | Gonzalez, House, Levkivskyi, Roach, GvR |
SF | 561 | Distributing and Packaging Type Information | Smith |
SF | 585 | Type Hinting Generics In Standard Collections | Langa |
Abandoned, Withdrawn, and Rejected PEPs
PEP | Title | Authors | |
---|---|---|---|
SR | 677 | Callable Type Syntax | Troxler, Srinivasan |
Numerical Index
PEP Types Key
- I — Informational: Non-normative PEP containing background, guidelines or other information relevant to the Python ecosystem
- P — Process: Normative PEP describing or proposing a change to a Python community process, workflow or governance
- S — Standards Track: Normative PEP with a new feature for Python, implementation change for CPython or interoperability standard for the ecosystem
PEP Status Key
- A — Accepted: Normative proposal accepted for implementation
- A — Active: Currently valid informational guidance, or an in-use process
- D — Deferred: Inactive draft that may be taken up again at a later time
- <No letter> — Draft: Proposal under active discussion and revision
- F — Final: Accepted and implementation complete, or no longer active
- P — Provisional: Provisionally accepted but additional feedback needed
- R — Rejected: Formally declined and will not be accepted
- S — Superseded: Replaced by another succeeding PEP
- W — Withdrawn: Removed from consideration by sponsor or authors