summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Waygood <Alex.Waygood@Gmail.com>2021-10-28 22:17:28 +0100
committerGitHub <noreply@github.com>2021-10-28 23:17:28 +0200
commit8813a987b1df78b5eaddb085e514dfa5af5c8634 (patch)
treeff15ee0358c7d2c78a9477fe19e5230752bde461
parent67a1abb6aab3b3ce40eb3fdc0af73179ab436a3a (diff)
downloadcpython-git-8813a987b1df78b5eaddb085e514dfa5af5c8634.tar.gz
[3.9] bpo-45655: Add "relevant PEPs" section to typing documentation (GH-29297)
Backport of https://github.com/python/cpython/pull/29280 to the 3.9 branch.
-rw-r--r--Doc/library/typing.rst38
-rw-r--r--Misc/NEWS.d/next/Documentation/2021-10-28-21-28-07.bpo-45655.aPYGaS.rst2
2 files changed, 34 insertions, 6 deletions
diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst
index 78ab760d86..295f2ae890 100644
--- a/Doc/library/typing.rst
+++ b/Doc/library/typing.rst
@@ -17,12 +17,11 @@
--------------
-This module provides runtime support for type hints as specified by
-:pep:`484`, :pep:`526`, :pep:`544`, :pep:`586`, :pep:`589`, and :pep:`591`.
-The most fundamental support consists of the types :data:`Any`, :data:`Union`,
-:data:`Tuple`, :data:`Callable`, :class:`TypeVar`, and
-:class:`Generic`. For full specification please see :pep:`484`. For
-a simplified introduction to type hints see :pep:`483`.
+This module provides runtime support for type hints. The most fundamental
+support consists of the types :data:`Any`, :data:`Union`, :data:`Tuple`,
+:data:`Callable`, :class:`TypeVar`, and :class:`Generic`. For a full
+specification, please see :pep:`484`. For a simplified introduction to type
+hints, see :pep:`483`.
The function below takes and returns a string and is annotated as follows::
@@ -34,6 +33,33 @@ In the function ``greeting``, the argument ``name`` is expected to be of type
:class:`str` and the return type :class:`str`. Subtypes are accepted as
arguments.
+.. _relevant-peps:
+
+Relevant PEPs
+=============
+
+Since the initial introduction of type hints in :pep:`484` and :pep:`483`, a
+number of PEPs have modified and enhanced Python's framework for type
+annotations. These include:
+
+* :pep:`526`: Syntax for Variable Annotations
+ *Introducing* syntax for annotating variables outside of function
+ definitions, and :data:`ClassVar`
+* :pep:`544`: Protocols: Structural subtyping (static duck typing)
+ *Introducing* :class:`Protocol` and the
+ :func:`@runtime_checkable<runtime_checkable>` decorator
+* :pep:`585`: Type Hinting Generics In Standard Collections
+ *Introducing* the ability to use builtin collections and ABCs as
+ :term:`generic types<generic type>`
+* :pep:`586`: Literal Types
+ *Introducing* :class:`Literal`
+* :pep:`589`: TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys
+ *Introducing* :class:`TypedDict`
+* :pep:`591`: Adding a final qualifier to typing
+ *Introducing* :data:`Final` and the :func:`@final<final>` decorator
+* :pep:`593`: Flexible function and variable annotations
+ *Introducing* :class:`Annotated`
+
Type aliases
============
diff --git a/Misc/NEWS.d/next/Documentation/2021-10-28-21-28-07.bpo-45655.aPYGaS.rst b/Misc/NEWS.d/next/Documentation/2021-10-28-21-28-07.bpo-45655.aPYGaS.rst
new file mode 100644
index 0000000000..fc5b3d0788
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2021-10-28-21-28-07.bpo-45655.aPYGaS.rst
@@ -0,0 +1,2 @@
+Add a new "relevant PEPs" section to the top of the documentation for the
+``typing`` module. Patch by Alex Waygood.