]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Glossary: Add "static type checker" (#111837)
authorJelle Zijlstra <jelle.zijlstra@gmail.com>
Wed, 8 Nov 2023 14:38:36 +0000 (06:38 -0800)
committerGitHub <noreply@github.com>
Wed, 8 Nov 2023 14:38:36 +0000 (14:38 +0000)
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 2d5412d6b43e8bcc26a403fe647ae01a91b5dc4a..dad745348f9b4b8336b671dc2b31998c99a97469 100644 (file)
@@ -1138,6 +1138,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
@@ -1214,8 +1219,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 0b9d42f32e3bd603b2f331c98b6249327a9dd3bd..1bab1fb9bd94646f8d11e750ab34e9fbd0c35654 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 a4767d222d0af79a60be7f301a75f931220d2884..ba2845eb17ddccc8bf1cba3fb70575517e7dc7bc 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.
 
 --------------