PEP 612

E902630

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.

Try in SPARQL Jump to: Surface forms Statements Referenced by

All labels observed (1)

Label Occurrences
PEP 612 canonical 1

Statements (43)

Predicate Object
instanceOf Python Enhancement Proposal
aimsTo improve expressiveness of Python type hints
support complex decorator patterns in typing
support higher-order function typing patterns
allows forwarding of parameter types between callables
precise modeling of callable parameter lists
appliesTo static type checkers for Python
author Python typing community
category Typing PEP NERFINISHED
defines parameter specification variable
semantics for Concatenate in callable types
syntax for ParamSpec in type hints
documentType design specification
focusesOn parameter specification variables
typing of decorators
typing of higher-order functions
governingBody Python core developers NERFINISHED
governs use of Concatenate in typing module
use of ParamSpec in typing module
hostedOn Python PEP index
implementedIn Python 3.10 NERFINISHED
improves static typing of callables
type safety for decorators
type safety for higher-order functions
influences design of advanced typing features in Python
introducedConcept Concatenate
ParamSpec NERFINISHED
language Python NERFINISHED
motivation limitations of Callable in expressing parameter lists
need for accurate decorator type annotations
number 612
partOf Python type system evolution
relatedTo PEP 484 NERFINISHED
PEP 544 NERFINISHED
PEP 604 NERFINISHED
typing.Concatenate
typing.ParamSpec NERFINISHED
repository https://peps.python.org/pep-0612/
scope typing module and type checkers
standardizes notation for parameter list type variables
status Final
title Parameter Specification Variables NERFINISHED
versionIntroduced Python 3.10 typing module

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

Python 3.10 implementsPEP PEP 612