]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] Glossary: Add "static type checker" (GH-111837) (#111855)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 8 Nov 2023 14:47:54 +0000 (15:47 +0100)
committerGitHub <noreply@github.com>
Wed, 8 Nov 2023 14:47:54 +0000 (14:47 +0000)
Glossary: Add "static type checker" (GH-111837)
(cherry picked from commit 8ab7ad63086b1793c24b1c5aaa19b60fc0e6540e)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Doc/glossary.rst
Doc/howto/pyporting.rst
Doc/library/datetime.rst
Doc/library/typing.rst

index f318a37b654e9dca93e47227b82533fd238e8385..47a95250f661be59c2cce07f76b5a14993c1ccae 100644 (file)
@@ -1130,6 +1130,11 @@ Glossary
       an :term:`expression` or one of several constructs with a keyword, such
       as :keyword:`if`, :keyword:`while` or :keyword:`for`.
 
+   static type checker
+      An external tool that reads Python code and analyzes it, looking for
+      issues such as incorrect types. See also :term:`type hints <type hint>`
+      and the :mod:`typing` module.
+
    strong reference
       In Python's C API, a strong reference is a reference to an object
       which is owned by the code holding the reference.  The strong
@@ -1206,8 +1211,8 @@ Glossary
       attribute, or a function parameter or return value.
 
       Type hints are optional and are not enforced by Python but
-      they are useful to static type analysis tools, and aid IDEs with code
-      completion and refactoring.
+      they are useful to :term:`static type checkers <static type checker>`.
+      They can also aid IDEs with code completion and refactoring.
 
       Type hints of global variables, class attributes, and functions,
       but not local variables, can be accessed using
index 6c30a0dd7d6bcc189d370fb0be4084213ffc2dec..501b16d82d4d6fcc84642fd6b3482a84e264fac8 100644 (file)
@@ -39,7 +39,8 @@ are:
 #. Once your dependencies are no longer blocking you, use continuous integration
    to make sure you stay compatible with Python 2 and 3 (tox_ can help test
    against multiple versions of Python; ``python -m pip install tox``)
-#. Consider using optional static type checking to make sure your type usage
+#. Consider using optional :term:`static type checking <static type checker>`
+   to make sure your type usage
    works in both Python 2 and 3 (e.g. use mypy_ to check your typing under both
    Python 2 and Python 3; ``python -m pip install mypy``).
 
@@ -395,7 +396,7 @@ comparisons occur, making the mistake much easier to track down.
 Consider using optional static type checking
 --------------------------------------------
 
-Another way to help port your code is to use a static type checker like
+Another way to help port your code is to use a :term:`static type checker` like
 mypy_ or pytype_ on your code. These tools can be used to analyze your code as
 if it's being run under Python 2, then you can run the tool a second time as if
 your code is running under Python 3. By running a static type checker twice like
index 1c2abc8cf4e30e9147b85997a50c3cd5bbe98c74..caab35acb94c8833c55c7ab3e2c8e0dd2ff07ce9 100644 (file)
@@ -38,7 +38,8 @@ on efficient attribute extraction for output formatting and manipulation.
       Third-party library with expanded time zone and parsing support.
 
    Package `DateType <https://pypi.org/project/datetype/>`_
-      Third-party library that introduces distinct static types to e.g. allow static type checkers
+      Third-party library that introduces distinct static types to e.g. allow
+      :term:`static type checkers <static type checker>`
       to differentiate between naive and aware datetimes.
 
 .. _datetime-naive-aware:
index 0decbaf39749c0d008acf2eb879ab5eaf86a7496..f00a4ce20c8a51f386dee5f03e7008a40b2c6b64 100644 (file)
@@ -18,8 +18,8 @@
 .. note::
 
    The Python runtime does not enforce function and variable type annotations.
-   They can be used by third party tools such as type checkers, IDEs, linters,
-   etc.
+   They can be used by third party tools such as :term:`type checkers <static type checker>`,
+   IDEs, linters, etc.
 
 --------------