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.

All labels observed (1)

Label Occurrences
PEP 612 canonical 2

How this entity was disambiguated

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 ⓘ
linked to: typing
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 ⓘ
governs use of Concatenate in typing module ⓘ
use of ParamSpec in typing module ⓘ
hostedOn Python PEP index ⓘ
implementedIn Python 3.10 ⓘ
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 ⓘ
language Python ⓘ
motivation limitations of Callable in expressing parameter lists ⓘ
need for accurate decorator type annotations ⓘ
number 612 ⓘ
partOf Python type system evolution ⓘ
relatedTo PEP 484 ⓘ
PEP 544 ⓘ
PEP 604 ⓘ
typing.Concatenate ⓘ
typing.ParamSpec ⓘ
linked to: ParamSpec
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 ⓘ
linked to: ParamSpec
versionIntroduced Python 3.10 typing module ⓘ

How these facts were elicited

Referenced by (2)

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

Python 3.10 → implementsPEP → PEP 612 ⓘ
ParamSpec → introducedIn → PEP 612 ⓘ