Document additional python typing PEPs

This commit is contained in:
Correl Roush 2023-09-29 11:46:20 -04:00
parent 505a9fce95
commit 2336b249dd

View file

@ -28,32 +28,39 @@ program correctness.
* Fun facts
- Per [[https://www.python.org/dev/peps/pep-0285/][PEP-285]], Python's =boolean= inherits from =int=, hence =True + True = 2=.
* Relevant PEPs
| PEP | Name | Python Version |
|------+-----------------------------------------------------------------+----------------|
| [[https://www.python.org/dev/peps/pep-3107/][3107]] | Function Annotations | 3.0 |
| [[https://www.python.org/dev/peps/pep-0443/][443]] | Single-dispatch generic functions | 3.4 |
| [[https://www.python.org/dev/peps/pep-0482/][482]] | Literature Overview for Type Hints | N/A |
| [[https://www.python.org/dev/peps/pep-0483/][483]] | The Theory of Type Hints | N/A |
| [[https://www.python.org/dev/peps/pep-0484/][484]] | Type Hints | 3.5 |
| [[https://www.python.org/dev/peps/pep-0526/][526]] | Syntax for Variable Annotations | 3.6 |
| [[https://www.python.org/dev/peps/pep-0544/][544]] | Protocols: Structural subtyping (static duck typing) | 3.8 |
| [[https://www.python.org/dev/peps/pep-0557/][557]] | Data Classes | 3.7 |
| [[https://www.python.org/dev/peps/pep-0560/][560]] | Core support for typing module and generic types | 3.7 |
| [[https://www.python.org/dev/peps/pep-0561/][561]] | Distributing and Packaging Type Information | 3.7 |
| [[https://www.python.org/dev/peps/pep-0563/][563]] | Postponed Evaluation of Annotations | 3.7 |
| [[https://www.python.org/dev/peps/pep-0585/][585]] | Type Hinting Generics In Standard Collections | 3.9 |
| [[https://www.python.org/dev/peps/pep-0586/][586]] | Literal Types | 3.8 |
| [[https://www.python.org/dev/peps/pep-0589/][589]] | TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys | 3.8 |
| [[https://www.python.org/dev/peps/pep-0591/][591]] | Adding a final qualifier to typing | 3.8 |
| [[https://www.python.org/dev/peps/pep-0593/][593]] | Flexible function and variable annotations | 3.9 |
| [[https://www.python.org/dev/peps/pep-0604/][604]] | Allow writing union types as X Y | 3.10 |
| [[https://www.python.org/dev/peps/pep-0612/][612]] | Parameter Specification Variables | 3.10 |
| [[https://www.python.org/dev/peps/pep-0613/][613]] | Explicit Type Aliases | 3.10 |
| [[https://www.python.org/dev/peps/pep-0634/][634]] | Structural Pattern Matching: Specification | 3.10 |
| [[https://www.python.org/dev/peps/pep-0635/][635]] | Structural Pattern Matching: Motivation and Rationale | 3.10 |
| [[https://www.python.org/dev/peps/pep-0636/][636]] | Structural Pattern Matching: Tutorial | 3.10 |
| [[https://www.python.org/dev/peps/pep-0638/][638]] | Syntactic Macros | |
| [[https://www.python.org/dev/peps/pep-0640/][640]] | Unused variable syntax | 3.10 |
| [[https://www.python.org/dev/peps/pep-0646/][646]] | Variadic Generics | 3.11 |
| [[https://www.python.org/dev/peps/pep-0647/][647]] | User-Defined Type Guards | 3.10 |
| [[https://www.python.org/dev/peps/pep-0654/][654]] | Exception Groups and except* | 3.11 |
| PEP | Name | Python Version |
|------+-----------------------------------------------------------------------+----------------|
| [[https://www.python.org/dev/peps/pep-3107/][3107]] | Function Annotations | 3.0 |
| [[https://www.python.org/dev/peps/pep-0443/][443]] | Single-dispatch generic functions | 3.4 |
| [[https://www.python.org/dev/peps/pep-0482/][482]] | Literature Overview for Type Hints | N/A |
| [[https://www.python.org/dev/peps/pep-0483/][483]] | The Theory of Type Hints | N/A |
| [[https://www.python.org/dev/peps/pep-0484/][484]] | Type Hints | 3.5 |
| [[https://www.python.org/dev/peps/pep-0526/][526]] | Syntax for Variable Annotations | 3.6 |
| [[https://www.python.org/dev/peps/pep-0544/][544]] | Protocols: Structural subtyping (static duck typing) | 3.8 |
| [[https://www.python.org/dev/peps/pep-0557/][557]] | Data Classes | 3.7 |
| [[https://www.python.org/dev/peps/pep-0560/][560]] | Core support for typing module and generic types | 3.7 |
| [[https://www.python.org/dev/peps/pep-0561/][561]] | Distributing and Packaging Type Information | 3.7 |
| [[https://www.python.org/dev/peps/pep-0563/][563]] | Postponed Evaluation of Annotations | 3.7 |
| [[https://www.python.org/dev/peps/pep-0585/][585]] | Type Hinting Generics In Standard Collections | 3.9 |
| [[https://www.python.org/dev/peps/pep-0586/][586]] | Literal Types | 3.8 |
| [[https://www.python.org/dev/peps/pep-0589/][589]] | TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys | 3.8 |
| [[https://www.python.org/dev/peps/pep-0591/][591]] | Adding a final qualifier to typing | 3.8 |
| [[https://www.python.org/dev/peps/pep-0593/][593]] | Flexible function and variable annotations | 3.9 |
| [[https://www.python.org/dev/peps/pep-0604/][604]] | Allow writing union types as X Y | 3.10 |
| [[https://www.python.org/dev/peps/pep-0612/][612]] | Parameter Specification Variables | 3.10 |
| [[https://www.python.org/dev/peps/pep-0613/][613]] | Explicit Type Aliases | 3.10 |
| [[https://www.python.org/dev/peps/pep-0634/][634]] | Structural Pattern Matching: Specification | 3.10 |
| [[https://www.python.org/dev/peps/pep-0635/][635]] | Structural Pattern Matching: Motivation and Rationale | 3.10 |
| [[https://www.python.org/dev/peps/pep-0636/][636]] | Structural Pattern Matching: Tutorial | 3.10 |
| [[https://www.python.org/dev/peps/pep-0638/][638]] | Syntactic Macros | |
| [[https://www.python.org/dev/peps/pep-0640/][640]] | Unused variable syntax | 3.10 |
| [[https://www.python.org/dev/peps/pep-0646/][646]] | Variadic Generics | 3.11 |
| [[https://www.python.org/dev/peps/pep-0647/][647]] | User-Defined Type Guards | 3.10 |
| [[https://peps.python.org/pep-0649/][649]] | https://peps.python.org/pep-0649/ | 3.13 |
| [[https://www.python.org/dev/peps/pep-0654/][654]] | Exception Groups and except* | 3.11 |
| [[https://peps.python.org/pep-0655/][655]] | Marking individual TypedDict items as required or potentially-missing | 3.11 |
| [[https://peps.python.org/pep-0673/][673]] | Self Type | 3.11 |
| [[https://peps.python.org/pep-0675/][675]] | Arbitrary Literal String Type | 3.11 |
| [[https://peps.python.org/pep-0692/][692]] | Using TypedDict for more precise **kwargs typing | 3.12 |
| [[https://peps.python.org/pep-0695/][695]] | Type Parameter Syntax | 3.12 |
| [[https://peps.python.org/pep-0698/][698]] | Override Decorator for Static Typing | 3.12 |