From f4c8a0a68e0013808d169357c9f77ebdf19d0f4e Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Fri, 30 Dec 2022 20:14:18 +0000 Subject: [PATCH] Insert ``from __future__ import annotations`` --- doc/development/tutorials/examples/autodoc_intenum.py | 2 ++ sphinx/addnodes.py | 2 ++ sphinx/application.py | 2 ++ sphinx/builders/__init__.py | 2 ++ sphinx/builders/_epub_base.py | 2 ++ sphinx/builders/changes.py | 2 ++ sphinx/builders/dirhtml.py | 2 ++ sphinx/builders/dummy.py | 2 ++ sphinx/builders/epub3.py | 2 ++ sphinx/builders/gettext.py | 2 ++ sphinx/builders/html/__init__.py | 2 ++ sphinx/builders/html/transforms.py | 2 ++ sphinx/builders/latex/__init__.py | 2 ++ sphinx/builders/latex/constants.py | 2 ++ sphinx/builders/latex/theming.py | 2 ++ sphinx/builders/latex/transforms.py | 2 ++ sphinx/builders/latex/util.py | 2 ++ sphinx/builders/linkcheck.py | 2 ++ sphinx/builders/manpage.py | 2 ++ sphinx/builders/singlehtml.py | 2 ++ sphinx/builders/texinfo.py | 2 ++ sphinx/builders/text.py | 2 ++ sphinx/builders/xml.py | 2 ++ sphinx/cmd/build.py | 2 ++ sphinx/cmd/make_mode.py | 2 ++ sphinx/cmd/quickstart.py | 2 ++ sphinx/config.py | 2 ++ sphinx/deprecation.py | 2 ++ sphinx/directives/__init__.py | 2 ++ sphinx/directives/code.py | 2 ++ sphinx/directives/other.py | 2 ++ sphinx/directives/patches.py | 2 ++ sphinx/domains/__init__.py | 2 ++ sphinx/domains/c.py | 2 ++ sphinx/domains/changeset.py | 2 ++ sphinx/domains/citation.py | 2 ++ sphinx/domains/cpp.py | 2 ++ sphinx/domains/index.py | 2 ++ sphinx/domains/javascript.py | 2 ++ sphinx/domains/math.py | 2 ++ sphinx/domains/python.py | 2 ++ sphinx/domains/rst.py | 2 ++ sphinx/domains/std.py | 2 ++ sphinx/environment/__init__.py | 2 ++ sphinx/environment/adapters/indexentries.py | 2 ++ sphinx/environment/adapters/toctree.py | 2 ++ sphinx/environment/collectors/__init__.py | 2 ++ sphinx/environment/collectors/asset.py | 2 ++ sphinx/environment/collectors/dependencies.py | 2 ++ sphinx/environment/collectors/metadata.py | 2 ++ sphinx/environment/collectors/title.py | 2 ++ sphinx/environment/collectors/toctree.py | 2 ++ sphinx/errors.py | 2 ++ sphinx/events.py | 2 ++ sphinx/ext/apidoc.py | 2 ++ sphinx/ext/autodoc/__init__.py | 2 ++ sphinx/ext/autodoc/directive.py | 2 ++ sphinx/ext/autodoc/importer.py | 2 ++ sphinx/ext/autodoc/mock.py | 2 ++ sphinx/ext/autodoc/preserve_defaults.py | 2 ++ sphinx/ext/autodoc/type_comment.py | 2 ++ sphinx/ext/autodoc/typehints.py | 2 ++ sphinx/ext/autosectionlabel.py | 2 ++ sphinx/ext/autosummary/__init__.py | 2 ++ sphinx/ext/autosummary/generate.py | 2 ++ sphinx/ext/coverage.py | 2 ++ sphinx/ext/doctest.py | 2 ++ sphinx/ext/duration.py | 2 ++ sphinx/ext/extlinks.py | 2 ++ sphinx/ext/githubpages.py | 2 ++ sphinx/ext/graphviz.py | 2 ++ sphinx/ext/ifconfig.py | 2 ++ sphinx/ext/imgconverter.py | 2 ++ sphinx/ext/imgmath.py | 2 ++ sphinx/ext/inheritance_diagram.py | 2 ++ sphinx/ext/intersphinx.py | 2 ++ sphinx/ext/linkcode.py | 2 ++ sphinx/ext/mathjax.py | 2 ++ sphinx/ext/napoleon/__init__.py | 2 ++ sphinx/ext/napoleon/docstring.py | 2 ++ sphinx/ext/napoleon/iterators.py | 2 ++ sphinx/ext/todo.py | 2 ++ sphinx/ext/viewcode.py | 2 ++ sphinx/extension.py | 2 ++ sphinx/highlighting.py | 2 ++ sphinx/io.py | 2 ++ sphinx/jinja2glue.py | 2 ++ sphinx/parsers.py | 2 ++ sphinx/project.py | 2 ++ sphinx/pycode/__init__.py | 2 ++ sphinx/pycode/ast.py | 2 ++ sphinx/pycode/parser.py | 2 ++ sphinx/registry.py | 2 ++ sphinx/roles.py | 2 ++ sphinx/search/__init__.py | 2 ++ sphinx/search/da.py | 2 ++ sphinx/search/de.py | 2 ++ sphinx/search/en.py | 2 ++ sphinx/search/es.py | 2 ++ sphinx/search/fi.py | 2 ++ sphinx/search/fr.py | 2 ++ sphinx/search/hu.py | 2 ++ sphinx/search/it.py | 2 ++ sphinx/search/ja.py | 2 ++ sphinx/search/nl.py | 2 ++ sphinx/search/no.py | 2 ++ sphinx/search/pt.py | 2 ++ sphinx/search/ro.py | 2 ++ sphinx/search/ru.py | 2 ++ sphinx/search/sv.py | 2 ++ sphinx/search/tr.py | 2 ++ sphinx/search/zh.py | 2 ++ sphinx/setup_command.py | 2 ++ sphinx/testing/comparer.py | 2 ++ sphinx/testing/fixtures.py | 2 ++ sphinx/testing/path.py | 2 ++ sphinx/testing/util.py | 2 ++ sphinx/theming.py | 2 ++ sphinx/transforms/__init__.py | 2 ++ sphinx/transforms/compact_bullet_list.py | 2 ++ sphinx/transforms/i18n.py | 2 ++ sphinx/transforms/post_transforms/__init__.py | 2 ++ sphinx/transforms/post_transforms/code.py | 2 ++ sphinx/transforms/post_transforms/images.py | 2 ++ sphinx/transforms/references.py | 2 ++ sphinx/util/__init__.py | 2 ++ sphinx/util/cfamily.py | 2 ++ sphinx/util/console.py | 2 ++ sphinx/util/docfields.py | 2 ++ sphinx/util/docstrings.py | 2 ++ sphinx/util/docutils.py | 2 ++ sphinx/util/fileutil.py | 2 ++ sphinx/util/i18n.py | 2 ++ sphinx/util/images.py | 2 ++ sphinx/util/inspect.py | 2 ++ sphinx/util/inventory.py | 2 ++ sphinx/util/jsdump.py | 2 ++ sphinx/util/logging.py | 2 ++ sphinx/util/matching.py | 2 ++ sphinx/util/math.py | 2 ++ sphinx/util/nodes.py | 5 ++++- sphinx/util/osutil.py | 2 ++ sphinx/util/parallel.py | 2 ++ sphinx/util/png.py | 2 ++ sphinx/util/requests.py | 2 ++ sphinx/util/rst.py | 2 ++ sphinx/util/tags.py | 2 ++ sphinx/util/template.py | 2 ++ sphinx/util/texescape.py | 2 ++ sphinx/util/typing.py | 2 ++ sphinx/versioning.py | 2 ++ sphinx/writers/_html4.py | 2 ++ sphinx/writers/html.py | 2 ++ sphinx/writers/html5.py | 2 ++ sphinx/writers/latex.py | 2 ++ sphinx/writers/manpage.py | 2 ++ sphinx/writers/texinfo.py | 2 ++ sphinx/writers/text.py | 2 ++ sphinx/writers/xml.py | 2 ++ tests/roots/test-ext-autodoc/target/TYPE_CHECKING.py | 2 ++ tests/roots/test-ext-autodoc/target/__init__.py | 2 +- .../roots/test-ext-autodoc/target/_functions_to_import.py | 8 ++++++++ tests/roots/test-ext-autodoc/target/annotated.py | 2 ++ tests/roots/test-ext-autodoc/target/classes.py | 2 ++ tests/roots/test-ext-autodoc/target/final.py | 2 ++ tests/roots/test-ext-autodoc/target/generic_class.py | 2 ++ tests/roots/test-ext-autodoc/target/genericalias.py | 2 ++ tests/roots/test-ext-autodoc/target/overload.py | 2 ++ tests/roots/test-ext-autodoc/target/preserve_defaults.py | 2 ++ tests/roots/test-ext-autodoc/target/typehints.py | 2 ++ tests/roots/test-ext-autodoc/target/typevar.py | 2 ++ tests/roots/test-ext-autodoc/target/wrappedfunction.py | 2 ++ .../autosummary_dummy_module.py | 2 ++ tests/test_build_linkcheck.py | 5 +++-- tests/test_ext_autodoc.py | 2 +- tests/test_ext_autodoc_autoclass.py | 2 ++ tests/test_ext_autodoc_configs.py | 2 +- tests/test_ext_autodoc_mock.py | 2 ++ tests/test_util_inspect.py | 2 ++ tests/test_util_nodes.py | 2 ++ 180 files changed, 366 insertions(+), 6 deletions(-) create mode 100644 tests/roots/test-ext-autodoc/target/_functions_to_import.py diff --git a/doc/development/tutorials/examples/autodoc_intenum.py b/doc/development/tutorials/examples/autodoc_intenum.py index a23f9cebf..67b5c3f70 100644 --- a/doc/development/tutorials/examples/autodoc_intenum.py +++ b/doc/development/tutorials/examples/autodoc_intenum.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from enum import IntEnum from typing import Any, Optional diff --git a/sphinx/addnodes.py b/sphinx/addnodes.py index 00042fee9..8567d5aa9 100644 --- a/sphinx/addnodes.py +++ b/sphinx/addnodes.py @@ -1,5 +1,7 @@ """Document tree nodes that Sphinx defines on top of those in Docutils.""" +from __future__ import annotations + from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence from docutils import nodes diff --git a/sphinx/application.py b/sphinx/application.py index 1aa71d828..61c3f35c5 100644 --- a/sphinx/application.py +++ b/sphinx/application.py @@ -3,6 +3,8 @@ Gracefully adapted from the TextPress system by Armin. """ +from __future__ import annotations + import os import pickle import sys diff --git a/sphinx/builders/__init__.py b/sphinx/builders/__init__.py index 1ca5eb317..96947baa5 100644 --- a/sphinx/builders/__init__.py +++ b/sphinx/builders/__init__.py @@ -1,5 +1,7 @@ """Builder superclass for all builders.""" +from __future__ import annotations + import codecs import pickle import time diff --git a/sphinx/builders/_epub_base.py b/sphinx/builders/_epub_base.py index 2fc093522..b951e1946 100644 --- a/sphinx/builders/_epub_base.py +++ b/sphinx/builders/_epub_base.py @@ -1,5 +1,7 @@ """Base class of epub2/epub3 builders.""" +from __future__ import annotations + import html import os import re diff --git a/sphinx/builders/changes.py b/sphinx/builders/changes.py index 618be0b3e..5090e489b 100644 --- a/sphinx/builders/changes.py +++ b/sphinx/builders/changes.py @@ -1,5 +1,7 @@ """Changelog builder.""" +from __future__ import annotations + import html from os import path from typing import Any, Dict, List, Tuple, cast diff --git a/sphinx/builders/dirhtml.py b/sphinx/builders/dirhtml.py index e3191775c..b317f9288 100644 --- a/sphinx/builders/dirhtml.py +++ b/sphinx/builders/dirhtml.py @@ -1,5 +1,7 @@ """Directory HTML builders.""" +from __future__ import annotations + from os import path from typing import Any, Dict, Optional diff --git a/sphinx/builders/dummy.py b/sphinx/builders/dummy.py index 5cb9cae10..17d7ce277 100644 --- a/sphinx/builders/dummy.py +++ b/sphinx/builders/dummy.py @@ -1,5 +1,7 @@ """Do syntax checks, but no writing.""" +from __future__ import annotations + from typing import Any, Dict, Optional, Set from docutils.nodes import Node diff --git a/sphinx/builders/epub3.py b/sphinx/builders/epub3.py index 6b5d7e475..0242f77ad 100644 --- a/sphinx/builders/epub3.py +++ b/sphinx/builders/epub3.py @@ -3,6 +3,8 @@ Originally derived from epub.py. """ +from __future__ import annotations + import html from os import path from typing import Any, Dict, List, NamedTuple, Set, Tuple diff --git a/sphinx/builders/gettext.py b/sphinx/builders/gettext.py index b7f2c4e7f..f4f69f175 100644 --- a/sphinx/builders/gettext.py +++ b/sphinx/builders/gettext.py @@ -1,5 +1,7 @@ """The MessageCatalogBuilder class.""" +from __future__ import annotations + from codecs import open from collections import OrderedDict, defaultdict from datetime import datetime, timedelta, tzinfo diff --git a/sphinx/builders/html/__init__.py b/sphinx/builders/html/__init__.py index 2fb1b3655..e9dc0357d 100644 --- a/sphinx/builders/html/__init__.py +++ b/sphinx/builders/html/__init__.py @@ -1,5 +1,7 @@ """Several HTML builders.""" +from __future__ import annotations + import html import os import posixpath diff --git a/sphinx/builders/html/transforms.py b/sphinx/builders/html/transforms.py index 5d34558c4..1aeba3cb7 100644 --- a/sphinx/builders/html/transforms.py +++ b/sphinx/builders/html/transforms.py @@ -1,5 +1,7 @@ """Transforms for HTML builder.""" +from __future__ import annotations + import re from typing import Any, Dict, List diff --git a/sphinx/builders/latex/__init__.py b/sphinx/builders/latex/__init__.py index b80ce01e5..107f076a1 100644 --- a/sphinx/builders/latex/__init__.py +++ b/sphinx/builders/latex/__init__.py @@ -1,5 +1,7 @@ """LaTeX builder.""" +from __future__ import annotations + import os import warnings from os import path diff --git a/sphinx/builders/latex/constants.py b/sphinx/builders/latex/constants.py index ace608644..3d104ee17 100644 --- a/sphinx/builders/latex/constants.py +++ b/sphinx/builders/latex/constants.py @@ -1,5 +1,7 @@ """consntants for LaTeX builder.""" +from __future__ import annotations + from typing import Any, Dict PDFLATEX_DEFAULT_FONTPKG = r''' diff --git a/sphinx/builders/latex/theming.py b/sphinx/builders/latex/theming.py index 5f8300084..116ce4b06 100644 --- a/sphinx/builders/latex/theming.py +++ b/sphinx/builders/latex/theming.py @@ -1,5 +1,7 @@ """Theming support for LaTeX builder.""" +from __future__ import annotations + import configparser from os import path from typing import Dict, Optional diff --git a/sphinx/builders/latex/transforms.py b/sphinx/builders/latex/transforms.py index d994fa141..8913e8640 100644 --- a/sphinx/builders/latex/transforms.py +++ b/sphinx/builders/latex/transforms.py @@ -1,5 +1,7 @@ """Transforms for LaTeX builder.""" +from __future__ import annotations + from typing import Any, Dict, List, Optional, Set, Tuple, cast from docutils import nodes diff --git a/sphinx/builders/latex/util.py b/sphinx/builders/latex/util.py index 15811b768..a57104f53 100644 --- a/sphinx/builders/latex/util.py +++ b/sphinx/builders/latex/util.py @@ -1,5 +1,7 @@ """Utilities for LaTeX builder.""" +from __future__ import annotations + from typing import Optional from docutils.writers.latex2e import Babel diff --git a/sphinx/builders/linkcheck.py b/sphinx/builders/linkcheck.py index a036aeefb..67f890734 100644 --- a/sphinx/builders/linkcheck.py +++ b/sphinx/builders/linkcheck.py @@ -1,5 +1,7 @@ """The CheckExternalLinksBuilder class.""" +from __future__ import annotations + import json import re import socket diff --git a/sphinx/builders/manpage.py b/sphinx/builders/manpage.py index b10fef48b..24e9f398c 100644 --- a/sphinx/builders/manpage.py +++ b/sphinx/builders/manpage.py @@ -1,5 +1,7 @@ """Manual pages builder.""" +from __future__ import annotations + import warnings from os import path from typing import Any, Dict, List, Optional, Set, Tuple, Union diff --git a/sphinx/builders/singlehtml.py b/sphinx/builders/singlehtml.py index 9930e150e..f8d157fbf 100644 --- a/sphinx/builders/singlehtml.py +++ b/sphinx/builders/singlehtml.py @@ -1,5 +1,7 @@ """Single HTML builders.""" +from __future__ import annotations + from os import path from typing import Any, Dict, List, Optional, Tuple, Union diff --git a/sphinx/builders/texinfo.py b/sphinx/builders/texinfo.py index 71fcbed57..fbc12b6e1 100644 --- a/sphinx/builders/texinfo.py +++ b/sphinx/builders/texinfo.py @@ -1,5 +1,7 @@ """Texinfo builder.""" +from __future__ import annotations + import os import warnings from os import path diff --git a/sphinx/builders/text.py b/sphinx/builders/text.py index 4e125a0c0..1e8259da6 100644 --- a/sphinx/builders/text.py +++ b/sphinx/builders/text.py @@ -1,5 +1,7 @@ """Plain-text Sphinx builder.""" +from __future__ import annotations + from os import path from typing import Any, Dict, Iterator, Optional, Set, Tuple diff --git a/sphinx/builders/xml.py b/sphinx/builders/xml.py index e86c7684c..0f2f169ae 100644 --- a/sphinx/builders/xml.py +++ b/sphinx/builders/xml.py @@ -1,5 +1,7 @@ """Docutils-native XML and pseudo-XML builders.""" +from __future__ import annotations + from os import path from typing import Any, Dict, Iterator, Optional, Set, Type, Union diff --git a/sphinx/cmd/build.py b/sphinx/cmd/build.py index b79a4a780..778c72519 100644 --- a/sphinx/cmd/build.py +++ b/sphinx/cmd/build.py @@ -1,5 +1,7 @@ """Build documentation from a provided source.""" +from __future__ import annotations + import argparse import bdb import locale diff --git a/sphinx/cmd/make_mode.py b/sphinx/cmd/make_mode.py index 5dbcdee49..284b2ba26 100644 --- a/sphinx/cmd/make_mode.py +++ b/sphinx/cmd/make_mode.py @@ -7,6 +7,8 @@ This is in its own module so that importing it is fast. It should not import the main Sphinx modules (like sphinx.applications, sphinx.builders). """ +from __future__ import annotations + import os import subprocess import sys diff --git a/sphinx/cmd/quickstart.py b/sphinx/cmd/quickstart.py index 5139fe227..5bb9e655b 100644 --- a/sphinx/cmd/quickstart.py +++ b/sphinx/cmd/quickstart.py @@ -1,5 +1,7 @@ """Quickly setup documentation source to work with Sphinx.""" +from __future__ import annotations + import argparse import locale import os diff --git a/sphinx/config.py b/sphinx/config.py index e2539a6cf..2c0f8e612 100644 --- a/sphinx/config.py +++ b/sphinx/config.py @@ -1,5 +1,7 @@ """Build configuration file handling.""" +from __future__ import annotations + import re import traceback import types diff --git a/sphinx/deprecation.py b/sphinx/deprecation.py index 89fad5657..05a0357dc 100644 --- a/sphinx/deprecation.py +++ b/sphinx/deprecation.py @@ -1,5 +1,7 @@ """Sphinx deprecation classes and utilities.""" +from __future__ import annotations + import sys import warnings from importlib import import_module diff --git a/sphinx/directives/__init__.py b/sphinx/directives/__init__.py index bafa59624..5af171e86 100644 --- a/sphinx/directives/__init__.py +++ b/sphinx/directives/__init__.py @@ -1,5 +1,7 @@ """Handlers for additional ReST directives.""" +from __future__ import annotations + import re from typing import TYPE_CHECKING, Any, Dict, Generic, List, Optional, Tuple, TypeVar, cast diff --git a/sphinx/directives/code.py b/sphinx/directives/code.py index a872b9e47..340996183 100644 --- a/sphinx/directives/code.py +++ b/sphinx/directives/code.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import sys import textwrap from difflib import unified_diff diff --git a/sphinx/directives/other.py b/sphinx/directives/other.py index 1826baee6..0c2f07dcb 100644 --- a/sphinx/directives/other.py +++ b/sphinx/directives/other.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import re from typing import TYPE_CHECKING, Any, Dict, List, cast diff --git a/sphinx/directives/patches.py b/sphinx/directives/patches.py index 833a9ff0b..4a38fd025 100644 --- a/sphinx/directives/patches.py +++ b/sphinx/directives/patches.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import os from os import path from typing import TYPE_CHECKING, Any, Dict, List, cast diff --git a/sphinx/domains/__init__.py b/sphinx/domains/__init__.py index f422b8b74..11390e887 100644 --- a/sphinx/domains/__init__.py +++ b/sphinx/domains/__init__.py @@ -4,6 +4,8 @@ Domains are groupings of description directives and roles describing e.g. constructs of one programming language. """ +from __future__ import annotations + import copy from abc import ABC, abstractmethod from typing import (TYPE_CHECKING, Any, Callable, Dict, Iterable, List, NamedTuple, Optional, diff --git a/sphinx/domains/c.py b/sphinx/domains/c.py index 559aa8b25..d8c31ca51 100644 --- a/sphinx/domains/c.py +++ b/sphinx/domains/c.py @@ -1,5 +1,7 @@ """The C language domain.""" +from __future__ import annotations + import re from typing import (Any, Callable, Dict, Generator, Iterator, List, Optional, Tuple, TypeVar, Union, cast) diff --git a/sphinx/domains/changeset.py b/sphinx/domains/changeset.py index 4a5a97f2c..f0f527882 100644 --- a/sphinx/domains/changeset.py +++ b/sphinx/domains/changeset.py @@ -1,5 +1,7 @@ """The changeset domain.""" +from __future__ import annotations + from typing import TYPE_CHECKING, Any, Dict, List, NamedTuple, cast from docutils import nodes diff --git a/sphinx/domains/citation.py b/sphinx/domains/citation.py index 39e63b659..81c54d075 100644 --- a/sphinx/domains/citation.py +++ b/sphinx/domains/citation.py @@ -1,5 +1,7 @@ """The citation domain.""" +from __future__ import annotations + from typing import TYPE_CHECKING, Any, Dict, List, Optional, Set, Tuple, cast from docutils import nodes diff --git a/sphinx/domains/cpp.py b/sphinx/domains/cpp.py index b29e4bf39..ebd368122 100644 --- a/sphinx/domains/cpp.py +++ b/sphinx/domains/cpp.py @@ -1,5 +1,7 @@ """The C++ language domain.""" +from __future__ import annotations + import re from typing import (Any, Callable, Dict, Generator, Iterator, List, Optional, Tuple, TypeVar, Union) diff --git a/sphinx/domains/index.py b/sphinx/domains/index.py index 42ad3c760..b3312c287 100644 --- a/sphinx/domains/index.py +++ b/sphinx/domains/index.py @@ -1,5 +1,7 @@ """The index domain.""" +from __future__ import annotations + from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Tuple from docutils import nodes diff --git a/sphinx/domains/javascript.py b/sphinx/domains/javascript.py index 391cebf33..83668a207 100644 --- a/sphinx/domains/javascript.py +++ b/sphinx/domains/javascript.py @@ -1,5 +1,7 @@ """The JavaScript domain.""" +from __future__ import annotations + from typing import Any, Dict, Iterator, List, Optional, Tuple, cast from docutils import nodes diff --git a/sphinx/domains/math.py b/sphinx/domains/math.py index 6df7d30cb..54e5b3c01 100644 --- a/sphinx/domains/math.py +++ b/sphinx/domains/math.py @@ -1,5 +1,7 @@ """The math domain.""" +from __future__ import annotations + from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Optional, Tuple from docutils import nodes diff --git a/sphinx/domains/python.py b/sphinx/domains/python.py index 8d1ae56f3..266567628 100644 --- a/sphinx/domains/python.py +++ b/sphinx/domains/python.py @@ -1,5 +1,7 @@ """The Python domain.""" +from __future__ import annotations + import ast import builtins import inspect diff --git a/sphinx/domains/rst.py b/sphinx/domains/rst.py index 8f49fcaa0..9fc3b0713 100644 --- a/sphinx/domains/rst.py +++ b/sphinx/domains/rst.py @@ -1,5 +1,7 @@ """The reStructuredText domain.""" +from __future__ import annotations + import re from typing import Any, Dict, Iterator, List, Optional, Tuple, cast diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py index 898c6f94d..5893becc7 100644 --- a/sphinx/domains/std.py +++ b/sphinx/domains/std.py @@ -1,5 +1,7 @@ """The standard domain.""" +from __future__ import annotations + import re from copy import copy from typing import (TYPE_CHECKING, Any, Callable, Dict, Final, Iterable, Iterator, List, diff --git a/sphinx/environment/__init__.py b/sphinx/environment/__init__.py index 05ff4b83f..28ef89499 100644 --- a/sphinx/environment/__init__.py +++ b/sphinx/environment/__init__.py @@ -1,5 +1,7 @@ """Global creation environment.""" +from __future__ import annotations + import os import pickle from collections import defaultdict diff --git a/sphinx/environment/adapters/indexentries.py b/sphinx/environment/adapters/indexentries.py index b651acae0..9909dc948 100644 --- a/sphinx/environment/adapters/indexentries.py +++ b/sphinx/environment/adapters/indexentries.py @@ -1,5 +1,7 @@ """Index entries adapters for sphinx.environment.""" +from __future__ import annotations + import re import unicodedata from itertools import groupby diff --git a/sphinx/environment/adapters/toctree.py b/sphinx/environment/adapters/toctree.py index 0d3315f72..1f739e358 100644 --- a/sphinx/environment/adapters/toctree.py +++ b/sphinx/environment/adapters/toctree.py @@ -1,5 +1,7 @@ """Toctree adapter for sphinx.environment.""" +from __future__ import annotations + from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Optional, Tuple, cast from docutils import nodes diff --git a/sphinx/environment/collectors/__init__.py b/sphinx/environment/collectors/__init__.py index 6f12c1323..8291c5b6f 100644 --- a/sphinx/environment/collectors/__init__.py +++ b/sphinx/environment/collectors/__init__.py @@ -1,5 +1,7 @@ """The data collector components for sphinx.environment.""" +from __future__ import annotations + from typing import TYPE_CHECKING, Dict, List, Optional, Set from docutils import nodes diff --git a/sphinx/environment/collectors/asset.py b/sphinx/environment/collectors/asset.py index c4e241674..8444dd151 100644 --- a/sphinx/environment/collectors/asset.py +++ b/sphinx/environment/collectors/asset.py @@ -1,5 +1,7 @@ """The image collector for sphinx.environment.""" +from __future__ import annotations + import os from glob import glob from os import path diff --git a/sphinx/environment/collectors/dependencies.py b/sphinx/environment/collectors/dependencies.py index 87f7c29f2..205de616d 100644 --- a/sphinx/environment/collectors/dependencies.py +++ b/sphinx/environment/collectors/dependencies.py @@ -1,5 +1,7 @@ """The dependencies collector components for sphinx.environment.""" +from __future__ import annotations + import os from os import path from typing import Any, Dict, Set diff --git a/sphinx/environment/collectors/metadata.py b/sphinx/environment/collectors/metadata.py index fc857d0a5..dad343cc5 100644 --- a/sphinx/environment/collectors/metadata.py +++ b/sphinx/environment/collectors/metadata.py @@ -1,5 +1,7 @@ """The metadata collector components for sphinx.environment.""" +from __future__ import annotations + from typing import Any, Dict, List, Set, cast from docutils import nodes diff --git a/sphinx/environment/collectors/title.py b/sphinx/environment/collectors/title.py index 10c5560fd..694d68fa3 100644 --- a/sphinx/environment/collectors/title.py +++ b/sphinx/environment/collectors/title.py @@ -1,5 +1,7 @@ """The title collector components for sphinx.environment.""" +from __future__ import annotations + from typing import Any, Dict, Set from docutils import nodes diff --git a/sphinx/environment/collectors/toctree.py b/sphinx/environment/collectors/toctree.py index ec43a1f8e..685024d54 100644 --- a/sphinx/environment/collectors/toctree.py +++ b/sphinx/environment/collectors/toctree.py @@ -1,5 +1,7 @@ """Toctree collector for sphinx.environment.""" +from __future__ import annotations + from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, TypeVar, Union, cast from docutils import nodes diff --git a/sphinx/errors.py b/sphinx/errors.py index 8521010ff..db754dd08 100644 --- a/sphinx/errors.py +++ b/sphinx/errors.py @@ -1,5 +1,7 @@ """Contains SphinxError and a few subclasses.""" +from __future__ import annotations + from typing import Any, Optional diff --git a/sphinx/events.py b/sphinx/events.py index 448af0695..90b75ca9d 100644 --- a/sphinx/events.py +++ b/sphinx/events.py @@ -3,6 +3,8 @@ Gracefully adapted from the TextPress system by Armin. """ +from __future__ import annotations + from collections import defaultdict from operator import attrgetter from typing import TYPE_CHECKING, Any, Callable, Dict, List, NamedTuple, Tuple, Type diff --git a/sphinx/ext/apidoc.py b/sphinx/ext/apidoc.py index 24cc34422..4735e147f 100644 --- a/sphinx/ext/apidoc.py +++ b/sphinx/ext/apidoc.py @@ -9,6 +9,8 @@ Copyright 2008 Société des arts technologiques (SAT), https://sat.qc.ca/ """ +from __future__ import annotations + import argparse import glob import locale diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py index 994a91cd7..87983482d 100644 --- a/sphinx/ext/autodoc/__init__.py +++ b/sphinx/ext/autodoc/__init__.py @@ -5,6 +5,8 @@ the doctree, thus avoiding duplication between docstrings and documentation for those who like elaborate docstrings. """ +from __future__ import annotations + import re from inspect import Parameter, Signature from types import ModuleType diff --git a/sphinx/ext/autodoc/directive.py b/sphinx/ext/autodoc/directive.py index a3e3f09ff..501912146 100644 --- a/sphinx/ext/autodoc/directive.py +++ b/sphinx/ext/autodoc/directive.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from typing import Any, Callable, Dict, List, Optional, Set, Type from docutils import nodes diff --git a/sphinx/ext/autodoc/importer.py b/sphinx/ext/autodoc/importer.py index d828321e1..bcd531486 100644 --- a/sphinx/ext/autodoc/importer.py +++ b/sphinx/ext/autodoc/importer.py @@ -1,5 +1,7 @@ """Importer utilities for autodoc""" +from __future__ import annotations + import importlib import traceback import warnings diff --git a/sphinx/ext/autodoc/mock.py b/sphinx/ext/autodoc/mock.py index 15c11c33a..0747508eb 100644 --- a/sphinx/ext/autodoc/mock.py +++ b/sphinx/ext/autodoc/mock.py @@ -1,5 +1,7 @@ """mock for autodoc""" +from __future__ import annotations + import contextlib import os import sys diff --git a/sphinx/ext/autodoc/preserve_defaults.py b/sphinx/ext/autodoc/preserve_defaults.py index 0b6d183a4..7c5dfb7f1 100644 --- a/sphinx/ext/autodoc/preserve_defaults.py +++ b/sphinx/ext/autodoc/preserve_defaults.py @@ -4,6 +4,8 @@ Preserve the default argument values of function signatures in source code and keep them not evaluated for readability. """ +from __future__ import annotations + import ast import inspect from typing import Any, Dict, List, Optional diff --git a/sphinx/ext/autodoc/type_comment.py b/sphinx/ext/autodoc/type_comment.py index 8d8b1ffe2..edb01e5d9 100644 --- a/sphinx/ext/autodoc/type_comment.py +++ b/sphinx/ext/autodoc/type_comment.py @@ -1,5 +1,7 @@ """Update annotations info of living objects using type_comments.""" +from __future__ import annotations + import ast from inspect import Parameter, Signature, getsource from typing import Any, Dict, List, Optional, cast diff --git a/sphinx/ext/autodoc/typehints.py b/sphinx/ext/autodoc/typehints.py index f3c9a7c60..9e30c308e 100644 --- a/sphinx/ext/autodoc/typehints.py +++ b/sphinx/ext/autodoc/typehints.py @@ -1,5 +1,7 @@ """Generating content for autodoc using typehints""" +from __future__ import annotations + import re from collections import OrderedDict from typing import Any, Dict, Iterable, Set, cast diff --git a/sphinx/ext/autosectionlabel.py b/sphinx/ext/autosectionlabel.py index 7dc9ddaec..dee219cd2 100644 --- a/sphinx/ext/autosectionlabel.py +++ b/sphinx/ext/autosectionlabel.py @@ -1,5 +1,7 @@ """Allow reference sections by :ref: role using its title.""" +from __future__ import annotations + from typing import Any, Dict, cast from docutils import nodes diff --git a/sphinx/ext/autosummary/__init__.py b/sphinx/ext/autosummary/__init__.py index 268fb65a2..b5ab99d63 100644 --- a/sphinx/ext/autosummary/__init__.py +++ b/sphinx/ext/autosummary/__init__.py @@ -46,6 +46,8 @@ resolved to a Python object, and otherwise it becomes simple emphasis. This can be used as the default role to make links 'smart'. """ +from __future__ import annotations + import inspect import os import posixpath diff --git a/sphinx/ext/autosummary/generate.py b/sphinx/ext/autosummary/generate.py index 2950d7663..9a00cf518 100644 --- a/sphinx/ext/autosummary/generate.py +++ b/sphinx/ext/autosummary/generate.py @@ -12,6 +12,8 @@ Example Makefile rule:: sphinx-autogen -o source/generated source/*.rst """ +from __future__ import annotations + import argparse import inspect import locale diff --git a/sphinx/ext/coverage.py b/sphinx/ext/coverage.py index 79e460435..72e6e0b67 100644 --- a/sphinx/ext/coverage.py +++ b/sphinx/ext/coverage.py @@ -4,6 +4,8 @@ Mostly written by Josip Dzolonga for the Google Highly Open Participation contest. """ +from __future__ import annotations + import glob import inspect import pickle diff --git a/sphinx/ext/doctest.py b/sphinx/ext/doctest.py index 427038b92..5d60b627e 100644 --- a/sphinx/ext/doctest.py +++ b/sphinx/ext/doctest.py @@ -3,6 +3,8 @@ The extension automatically execute code snippets and checks their results. """ +from __future__ import annotations + import doctest import re import sys diff --git a/sphinx/ext/duration.py b/sphinx/ext/duration.py index 13b92fc1a..69909c29b 100644 --- a/sphinx/ext/duration.py +++ b/sphinx/ext/duration.py @@ -1,5 +1,7 @@ """Measure durations of Sphinx processing.""" +from __future__ import annotations + from datetime import datetime, timedelta from itertools import islice from operator import itemgetter diff --git a/sphinx/ext/extlinks.py b/sphinx/ext/extlinks.py index e039a18d5..78ffd8dc0 100644 --- a/sphinx/ext/extlinks.py +++ b/sphinx/ext/extlinks.py @@ -17,6 +17,8 @@ You can also give an explicit caption, e.g. :exmpl:`Foo `. Both, the url string and the caption string must escape ``%`` as ``%%``. """ +from __future__ import annotations + import re from typing import Any, Dict, List, Tuple diff --git a/sphinx/ext/githubpages.py b/sphinx/ext/githubpages.py index 53e063a11..beef214ed 100644 --- a/sphinx/ext/githubpages.py +++ b/sphinx/ext/githubpages.py @@ -1,5 +1,7 @@ """To publish HTML docs at GitHub Pages, create .nojekyll file.""" +from __future__ import annotations + import os import urllib from typing import Any, Dict diff --git a/sphinx/ext/graphviz.py b/sphinx/ext/graphviz.py index ed7278f5c..344c108b4 100644 --- a/sphinx/ext/graphviz.py +++ b/sphinx/ext/graphviz.py @@ -1,6 +1,8 @@ """Allow graphviz-formatted graphs to be included inline in generated documents. """ +from __future__ import annotations + import posixpath import re import subprocess diff --git a/sphinx/ext/ifconfig.py b/sphinx/ext/ifconfig.py index f441eed9a..b9339ee2d 100644 --- a/sphinx/ext/ifconfig.py +++ b/sphinx/ext/ifconfig.py @@ -14,6 +14,8 @@ namespace of the project configuration (that is, all variables from ``conf.py`` are available.) """ +from __future__ import annotations + from typing import Any, Dict, List from docutils import nodes diff --git a/sphinx/ext/imgconverter.py b/sphinx/ext/imgconverter.py index e52fbb61e..710bd2fa0 100644 --- a/sphinx/ext/imgconverter.py +++ b/sphinx/ext/imgconverter.py @@ -1,5 +1,7 @@ """Image converter extension for Sphinx""" +from __future__ import annotations + import subprocess import sys from subprocess import CalledProcessError diff --git a/sphinx/ext/imgmath.py b/sphinx/ext/imgmath.py index a5946aa01..598353569 100644 --- a/sphinx/ext/imgmath.py +++ b/sphinx/ext/imgmath.py @@ -1,5 +1,7 @@ """Render math in HTML via dvipng or dvisvgm.""" +from __future__ import annotations + import base64 import re import shutil diff --git a/sphinx/ext/inheritance_diagram.py b/sphinx/ext/inheritance_diagram.py index 38fc9255a..f848ac037 100644 --- a/sphinx/ext/inheritance_diagram.py +++ b/sphinx/ext/inheritance_diagram.py @@ -28,6 +28,8 @@ The graph is inserted as a PNG+image map into HTML and a PDF in LaTeX. """ +from __future__ import annotations + import builtins import inspect import re diff --git a/sphinx/ext/intersphinx.py b/sphinx/ext/intersphinx.py index 877f9428c..6d814a9a4 100644 --- a/sphinx/ext/intersphinx.py +++ b/sphinx/ext/intersphinx.py @@ -16,6 +16,8 @@ This works as follows: without Internet access. """ +from __future__ import annotations + import concurrent.futures import functools import posixpath diff --git a/sphinx/ext/linkcode.py b/sphinx/ext/linkcode.py index ad7abd31b..9a2294e59 100644 --- a/sphinx/ext/linkcode.py +++ b/sphinx/ext/linkcode.py @@ -1,5 +1,7 @@ """Add external links to module code in Python object descriptions.""" +from __future__ import annotations + from typing import Any, Dict, Set from docutils import nodes diff --git a/sphinx/ext/mathjax.py b/sphinx/ext/mathjax.py index 9bdfc09c2..a69ee7f84 100644 --- a/sphinx/ext/mathjax.py +++ b/sphinx/ext/mathjax.py @@ -5,6 +5,8 @@ This requires the MathJax JavaScript library on your webserver/computer. .. _MathJax: https://www.mathjax.org/ """ +from __future__ import annotations + import json from typing import Any, Dict, cast diff --git a/sphinx/ext/napoleon/__init__.py b/sphinx/ext/napoleon/__init__.py index e1097053b..53c731a2d 100644 --- a/sphinx/ext/napoleon/__init__.py +++ b/sphinx/ext/napoleon/__init__.py @@ -1,5 +1,7 @@ """Support for NumPy and Google style docstrings.""" +from __future__ import annotations + from typing import Any, Dict, List import sphinx diff --git a/sphinx/ext/napoleon/docstring.py b/sphinx/ext/napoleon/docstring.py index 2d915dae2..1b19104f1 100644 --- a/sphinx/ext/napoleon/docstring.py +++ b/sphinx/ext/napoleon/docstring.py @@ -1,5 +1,7 @@ """Classes for docstring parsing and formatting.""" +from __future__ import annotations + import collections import inspect import re diff --git a/sphinx/ext/napoleon/iterators.py b/sphinx/ext/napoleon/iterators.py index 86f0dabf5..de4f05329 100644 --- a/sphinx/ext/napoleon/iterators.py +++ b/sphinx/ext/napoleon/iterators.py @@ -1,5 +1,7 @@ """A collection of helpful iterators.""" +from __future__ import annotations + import collections import warnings from typing import Any, Iterable, Optional diff --git a/sphinx/ext/todo.py b/sphinx/ext/todo.py index e35cbdba4..67409ddf9 100644 --- a/sphinx/ext/todo.py +++ b/sphinx/ext/todo.py @@ -5,6 +5,8 @@ The todolist directive collects all todos of your project and lists them along with a backlink to the original location. """ +from __future__ import annotations + from typing import Any, Dict, List, cast from docutils import nodes diff --git a/sphinx/ext/viewcode.py b/sphinx/ext/viewcode.py index e4461f813..9a62ce348 100644 --- a/sphinx/ext/viewcode.py +++ b/sphinx/ext/viewcode.py @@ -1,5 +1,7 @@ """Add links to module code in Python object descriptions.""" +from __future__ import annotations + import posixpath import traceback from os import path diff --git a/sphinx/extension.py b/sphinx/extension.py index 2a984f5b4..15ea8e027 100644 --- a/sphinx/extension.py +++ b/sphinx/extension.py @@ -1,5 +1,7 @@ """Utilities for Sphinx extensions.""" +from __future__ import annotations + from typing import TYPE_CHECKING, Any, Dict from packaging.version import InvalidVersion, Version diff --git a/sphinx/highlighting.py b/sphinx/highlighting.py index 7716f2a12..280f9f793 100644 --- a/sphinx/highlighting.py +++ b/sphinx/highlighting.py @@ -1,5 +1,7 @@ """Highlight code blocks using Pygments.""" +from __future__ import annotations + from functools import partial from importlib import import_module from typing import Any, Dict, Optional, Type, Union diff --git a/sphinx/io.py b/sphinx/io.py index 928f0749f..44e82bdc2 100644 --- a/sphinx/io.py +++ b/sphinx/io.py @@ -1,4 +1,6 @@ """Input/Output files""" +from __future__ import annotations + import codecs import warnings from typing import TYPE_CHECKING, Any, List, Type diff --git a/sphinx/jinja2glue.py b/sphinx/jinja2glue.py index 8a551d6ef..4247a6e2e 100644 --- a/sphinx/jinja2glue.py +++ b/sphinx/jinja2glue.py @@ -1,5 +1,7 @@ """Glue code for the jinja2 templating engine.""" +from __future__ import annotations + import pathlib from os import path from pprint import pformat diff --git a/sphinx/parsers.py b/sphinx/parsers.py index ff1f8e2cf..61c51c5a8 100644 --- a/sphinx/parsers.py +++ b/sphinx/parsers.py @@ -1,5 +1,7 @@ """A Base class for additional parsers.""" +from __future__ import annotations + from typing import TYPE_CHECKING, Any, Dict, List, Type, Union import docutils.parsers diff --git a/sphinx/project.py b/sphinx/project.py index 9dc29eb29..85db042bd 100644 --- a/sphinx/project.py +++ b/sphinx/project.py @@ -1,5 +1,7 @@ """Utility function and classes for Sphinx projects.""" +from __future__ import annotations + import os from glob import glob from typing import Dict, Iterable, Optional, Set diff --git a/sphinx/pycode/__init__.py b/sphinx/pycode/__init__.py index 67b17d21b..68dbab23e 100644 --- a/sphinx/pycode/__init__.py +++ b/sphinx/pycode/__init__.py @@ -1,5 +1,7 @@ """Utilities parsing and analyzing Python code.""" +from __future__ import annotations + import re import tokenize from collections import OrderedDict diff --git a/sphinx/pycode/ast.py b/sphinx/pycode/ast.py index 32c016521..f5ce196ab 100644 --- a/sphinx/pycode/ast.py +++ b/sphinx/pycode/ast.py @@ -1,5 +1,7 @@ """Helpers for AST (Abstract Syntax Tree).""" +from __future__ import annotations + import ast import warnings from typing import Dict, List, Optional, Type, overload diff --git a/sphinx/pycode/parser.py b/sphinx/pycode/parser.py index d64fb9282..cf2303fa9 100644 --- a/sphinx/pycode/parser.py +++ b/sphinx/pycode/parser.py @@ -1,5 +1,7 @@ """Utilities parsing and analyzing Python code.""" +from __future__ import annotations + import ast import inspect import itertools diff --git a/sphinx/registry.py b/sphinx/registry.py index f668ce662..4cefccff7 100644 --- a/sphinx/registry.py +++ b/sphinx/registry.py @@ -1,5 +1,7 @@ """Sphinx component registry.""" +from __future__ import annotations + import traceback import warnings from importlib import import_module diff --git a/sphinx/roles.py b/sphinx/roles.py index 83dd60ea7..30626a9d4 100644 --- a/sphinx/roles.py +++ b/sphinx/roles.py @@ -1,5 +1,7 @@ """Handlers for additional ReST roles.""" +from __future__ import annotations + import re from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Type diff --git a/sphinx/search/__init__.py b/sphinx/search/__init__.py index 45d938949..aa5acd025 100644 --- a/sphinx/search/__init__.py +++ b/sphinx/search/__init__.py @@ -1,4 +1,6 @@ """Create a full-text search index for offline search.""" +from __future__ import annotations + import html import json import pickle diff --git a/sphinx/search/da.py b/sphinx/search/da.py index 42559ad93..28ecfec2c 100644 --- a/sphinx/search/da.py +++ b/sphinx/search/da.py @@ -1,5 +1,7 @@ """Danish search language: includes the JS Danish stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/de.py b/sphinx/search/de.py index 3896629de..279b2bf31 100644 --- a/sphinx/search/de.py +++ b/sphinx/search/de.py @@ -1,5 +1,7 @@ """German search language: includes the JS German stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/en.py b/sphinx/search/en.py index 19bd9f019..a55f0221d 100644 --- a/sphinx/search/en.py +++ b/sphinx/search/en.py @@ -1,5 +1,7 @@ """English search language: includes the JS porter stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/es.py b/sphinx/search/es.py index 7aba54bfd..0ed9a20ae 100644 --- a/sphinx/search/es.py +++ b/sphinx/search/es.py @@ -1,5 +1,7 @@ """Spanish search language: includes the JS Spanish stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/fi.py b/sphinx/search/fi.py index 36f7e7747..52c1137b4 100644 --- a/sphinx/search/fi.py +++ b/sphinx/search/fi.py @@ -1,5 +1,7 @@ """Finnish search language: includes the JS Finnish stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/fr.py b/sphinx/search/fr.py index a469bc922..5550816c2 100644 --- a/sphinx/search/fr.py +++ b/sphinx/search/fr.py @@ -1,5 +1,7 @@ """French search language: includes the JS French stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/hu.py b/sphinx/search/hu.py index 23f7d85bb..77de918ab 100644 --- a/sphinx/search/hu.py +++ b/sphinx/search/hu.py @@ -1,5 +1,7 @@ """Hungarian search language: includes the JS Hungarian stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/it.py b/sphinx/search/it.py index 80b3b3a6d..55e2f01e9 100644 --- a/sphinx/search/it.py +++ b/sphinx/search/it.py @@ -1,5 +1,7 @@ """Italian search language: includes the JS Italian stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/ja.py b/sphinx/search/ja.py index 38520edc3..c69eccc8c 100644 --- a/sphinx/search/ja.py +++ b/sphinx/search/ja.py @@ -8,6 +8,8 @@ # Python Version was developed by xnights . # For details, see http://programming-magic.com/?id=170 +from __future__ import annotations + import os import re import sys diff --git a/sphinx/search/nl.py b/sphinx/search/nl.py index b5c549f66..38d890c6d 100644 --- a/sphinx/search/nl.py +++ b/sphinx/search/nl.py @@ -1,5 +1,7 @@ """Dutch search language: includes the JS porter stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/no.py b/sphinx/search/no.py index f11f3cf15..669c1cbf1 100644 --- a/sphinx/search/no.py +++ b/sphinx/search/no.py @@ -1,5 +1,7 @@ """Norwegian search language: includes the JS Norwegian stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/pt.py b/sphinx/search/pt.py index 1708928b2..2abe7966e 100644 --- a/sphinx/search/pt.py +++ b/sphinx/search/pt.py @@ -1,5 +1,7 @@ """Portuguese search language: includes the JS Portuguese stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/ro.py b/sphinx/search/ro.py index 4c8a22711..7ae421f2d 100644 --- a/sphinx/search/ro.py +++ b/sphinx/search/ro.py @@ -1,5 +1,7 @@ """Romanian search language: includes the JS Romanian stemmer.""" +from __future__ import annotations + from typing import Dict, Set import snowballstemmer diff --git a/sphinx/search/ru.py b/sphinx/search/ru.py index 6c4f8da94..4c04259f7 100644 --- a/sphinx/search/ru.py +++ b/sphinx/search/ru.py @@ -1,5 +1,7 @@ """Russian search language: includes the JS Russian stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/sv.py b/sphinx/search/sv.py index 176cc8da4..c5ab947fa 100644 --- a/sphinx/search/sv.py +++ b/sphinx/search/sv.py @@ -1,5 +1,7 @@ """Swedish search language: includes the JS Swedish stemmer.""" +from __future__ import annotations + from typing import Dict import snowballstemmer diff --git a/sphinx/search/tr.py b/sphinx/search/tr.py index 78d48aed0..00e1e93fc 100644 --- a/sphinx/search/tr.py +++ b/sphinx/search/tr.py @@ -1,5 +1,7 @@ """Turkish search language: includes the JS Turkish stemmer.""" +from __future__ import annotations + from typing import Dict, Set import snowballstemmer diff --git a/sphinx/search/zh.py b/sphinx/search/zh.py index 86f612d5d..8d9132280 100644 --- a/sphinx/search/zh.py +++ b/sphinx/search/zh.py @@ -1,5 +1,7 @@ """Chinese search language: includes routine to split words.""" +from __future__ import annotations + import os import re from typing import Dict, List diff --git a/sphinx/setup_command.py b/sphinx/setup_command.py index bbeaa2281..f725ec3cc 100644 --- a/sphinx/setup_command.py +++ b/sphinx/setup_command.py @@ -3,6 +3,8 @@ :author: Sebastian Wiesner """ +from __future__ import annotations + import os import sys import warnings diff --git a/sphinx/testing/comparer.py b/sphinx/testing/comparer.py index 09e8364bd..142d15348 100644 --- a/sphinx/testing/comparer.py +++ b/sphinx/testing/comparer.py @@ -1,4 +1,6 @@ """Sphinx test comparer for pytest""" +from __future__ import annotations + import difflib import pathlib from typing import Any, List, Union diff --git a/sphinx/testing/fixtures.py b/sphinx/testing/fixtures.py index 88e1bec9b..41550d393 100644 --- a/sphinx/testing/fixtures.py +++ b/sphinx/testing/fixtures.py @@ -1,5 +1,7 @@ """Sphinx test fixtures for pytest""" +from __future__ import annotations + import subprocess import sys from collections import namedtuple diff --git a/sphinx/testing/path.py b/sphinx/testing/path.py index 40de6f069..7c4eb7f2b 100644 --- a/sphinx/testing/path.py +++ b/sphinx/testing/path.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import builtins import os import shutil diff --git a/sphinx/testing/util.py b/sphinx/testing/util.py index 6f0b79810..eb45d42a0 100644 --- a/sphinx/testing/util.py +++ b/sphinx/testing/util.py @@ -1,4 +1,6 @@ """Sphinx test suite utilities""" +from __future__ import annotations + import functools import os import re diff --git a/sphinx/theming.py b/sphinx/theming.py index a0331246f..a144af674 100644 --- a/sphinx/theming.py +++ b/sphinx/theming.py @@ -1,5 +1,7 @@ """Theming support for HTML builders.""" +from __future__ import annotations + import configparser import os import shutil diff --git a/sphinx/transforms/__init__.py b/sphinx/transforms/__init__.py index fdffa0f7c..3bdd915f9 100644 --- a/sphinx/transforms/__init__.py +++ b/sphinx/transforms/__init__.py @@ -1,5 +1,7 @@ """Docutils transforms used by Sphinx when reading documents.""" +from __future__ import annotations + import re import unicodedata from typing import TYPE_CHECKING, Any, Dict, Generator, List, Optional, Tuple, cast diff --git a/sphinx/transforms/compact_bullet_list.py b/sphinx/transforms/compact_bullet_list.py index 4bf633237..449c875c0 100644 --- a/sphinx/transforms/compact_bullet_list.py +++ b/sphinx/transforms/compact_bullet_list.py @@ -1,5 +1,7 @@ """Docutils transforms used by Sphinx when reading documents.""" +from __future__ import annotations + from typing import Any, Dict, List, cast from docutils import nodes diff --git a/sphinx/transforms/i18n.py b/sphinx/transforms/i18n.py index 552aa955f..5f226683f 100644 --- a/sphinx/transforms/i18n.py +++ b/sphinx/transforms/i18n.py @@ -1,5 +1,7 @@ """Docutils transforms used by Sphinx when reading documents.""" +from __future__ import annotations + from os import path from re import DOTALL, match from textwrap import indent diff --git a/sphinx/transforms/post_transforms/__init__.py b/sphinx/transforms/post_transforms/__init__.py index 10c5a2744..e3a27bd6d 100644 --- a/sphinx/transforms/post_transforms/__init__.py +++ b/sphinx/transforms/post_transforms/__init__.py @@ -1,5 +1,7 @@ """Docutils transforms used by Sphinx.""" +from __future__ import annotations + import re from typing import Any, Dict, List, Optional, Sequence, Tuple, Type, cast diff --git a/sphinx/transforms/post_transforms/code.py b/sphinx/transforms/post_transforms/code.py index 5a5980c4a..0308b2224 100644 --- a/sphinx/transforms/post_transforms/code.py +++ b/sphinx/transforms/post_transforms/code.py @@ -1,5 +1,7 @@ """transforms for code-blocks.""" +from __future__ import annotations + import sys from typing import Any, Dict, List, NamedTuple diff --git a/sphinx/transforms/post_transforms/images.py b/sphinx/transforms/post_transforms/images.py index 1b9e901ff..0910b6b37 100644 --- a/sphinx/transforms/post_transforms/images.py +++ b/sphinx/transforms/post_transforms/images.py @@ -1,5 +1,7 @@ """Docutils transforms used by Sphinx.""" +from __future__ import annotations + import os import re from math import ceil diff --git a/sphinx/transforms/references.py b/sphinx/transforms/references.py index 647c83e12..0d520e026 100644 --- a/sphinx/transforms/references.py +++ b/sphinx/transforms/references.py @@ -1,5 +1,7 @@ """Docutils transforms used by Sphinx.""" +from __future__ import annotations + from typing import TYPE_CHECKING, Any, Dict from docutils.transforms.references import DanglingReferences diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py index c28e76091..313b32211 100644 --- a/sphinx/util/__init__.py +++ b/sphinx/util/__init__.py @@ -1,5 +1,7 @@ """Utility functions for Sphinx.""" +from __future__ import annotations + import functools import hashlib import os diff --git a/sphinx/util/cfamily.py b/sphinx/util/cfamily.py index 21ac9b79f..15122955b 100644 --- a/sphinx/util/cfamily.py +++ b/sphinx/util/cfamily.py @@ -1,5 +1,7 @@ """Utility functions common to the C and C++ domains.""" +from __future__ import annotations + import re from copy import deepcopy from typing import Any, Callable, List, Match, Optional, Pattern, Tuple, Union diff --git a/sphinx/util/console.py b/sphinx/util/console.py index 304f5d4a1..d4c6ff44f 100644 --- a/sphinx/util/console.py +++ b/sphinx/util/console.py @@ -1,5 +1,7 @@ """Format colored console output.""" +from __future__ import annotations + import os import re import shutil diff --git a/sphinx/util/docfields.py b/sphinx/util/docfields.py index 7a2f802c5..ec49774f1 100644 --- a/sphinx/util/docfields.py +++ b/sphinx/util/docfields.py @@ -3,6 +3,8 @@ "Doc fields" are reST field lists in object descriptions that will be domain-specifically transformed to a more appealing presentation. """ +from __future__ import annotations + from typing import TYPE_CHECKING, Any, Dict, List, Tuple, Type, Union, cast from docutils import nodes diff --git a/sphinx/util/docstrings.py b/sphinx/util/docstrings.py index eb3acefd4..8efd71bb6 100644 --- a/sphinx/util/docstrings.py +++ b/sphinx/util/docstrings.py @@ -1,5 +1,7 @@ """Utilities for docstring processing.""" +from __future__ import annotations + import re import sys from typing import Dict, List, Tuple diff --git a/sphinx/util/docutils.py b/sphinx/util/docutils.py index e45cf0db9..e80066845 100644 --- a/sphinx/util/docutils.py +++ b/sphinx/util/docutils.py @@ -1,5 +1,7 @@ """Utility functions for docutils.""" +from __future__ import annotations + import os import re import warnings diff --git a/sphinx/util/fileutil.py b/sphinx/util/fileutil.py index e4f24f239..a4bf3d94f 100644 --- a/sphinx/util/fileutil.py +++ b/sphinx/util/fileutil.py @@ -1,5 +1,7 @@ """File utility functions for Sphinx.""" +from __future__ import annotations + import os import posixpath from typing import TYPE_CHECKING, Callable, Dict, Optional diff --git a/sphinx/util/i18n.py b/sphinx/util/i18n.py index 6915d3091..23ba31e7c 100644 --- a/sphinx/util/i18n.py +++ b/sphinx/util/i18n.py @@ -1,5 +1,7 @@ """Builder superclass for all builders.""" +from __future__ import annotations + import os import re import warnings diff --git a/sphinx/util/images.py b/sphinx/util/images.py index 2e13957f6..656f2e5bf 100644 --- a/sphinx/util/images.py +++ b/sphinx/util/images.py @@ -1,5 +1,7 @@ """Image utility functions for Sphinx.""" +from __future__ import annotations + import base64 import imghdr from collections import OrderedDict diff --git a/sphinx/util/inspect.py b/sphinx/util/inspect.py index accbb2388..7544f109b 100644 --- a/sphinx/util/inspect.py +++ b/sphinx/util/inspect.py @@ -1,5 +1,7 @@ """Helpers for inspecting Python modules.""" +from __future__ import annotations + import ast import builtins import contextlib diff --git a/sphinx/util/inventory.py b/sphinx/util/inventory.py index 7827aec74..91369f559 100644 --- a/sphinx/util/inventory.py +++ b/sphinx/util/inventory.py @@ -1,4 +1,6 @@ """Inventory utility functions for Sphinx.""" +from __future__ import annotations + import os import re import zlib diff --git a/sphinx/util/jsdump.py b/sphinx/util/jsdump.py index 17a3c6528..0cd59c383 100644 --- a/sphinx/util/jsdump.py +++ b/sphinx/util/jsdump.py @@ -3,6 +3,8 @@ Uses the basestring encode function from simplejson by Bob Ippolito. """ +from __future__ import annotations + import re import warnings from typing import IO, Any, Dict, List, Match, Union diff --git a/sphinx/util/logging.py b/sphinx/util/logging.py index 6f8b7096d..5c84755c7 100644 --- a/sphinx/util/logging.py +++ b/sphinx/util/logging.py @@ -1,5 +1,7 @@ """Logging utility functions for Sphinx.""" +from __future__ import annotations + import logging import logging.handlers from collections import defaultdict diff --git a/sphinx/util/matching.py b/sphinx/util/matching.py index ffea2d6f3..45b49f67b 100644 --- a/sphinx/util/matching.py +++ b/sphinx/util/matching.py @@ -1,5 +1,7 @@ """Pattern-matching utility functions for Sphinx.""" +from __future__ import annotations + import os.path import re from typing import Callable, Dict, Iterable, Iterator, List, Match, Optional, Pattern diff --git a/sphinx/util/math.py b/sphinx/util/math.py index 121c606c5..bac197d7a 100644 --- a/sphinx/util/math.py +++ b/sphinx/util/math.py @@ -1,5 +1,7 @@ """Utility functions for math.""" +from __future__ import annotations + from typing import Optional from docutils import nodes diff --git a/sphinx/util/nodes.py b/sphinx/util/nodes.py index 9494b61de..4f1c2dac7 100644 --- a/sphinx/util/nodes.py +++ b/sphinx/util/nodes.py @@ -1,5 +1,7 @@ """Docutils node-related utility functions for Sphinx.""" +from __future__ import annotations + import re import unicodedata from typing import (TYPE_CHECKING, Any, Callable, Iterable, List, Optional, Set, Tuple, Type, @@ -45,7 +47,8 @@ class NodeMatcher: A special value ``typing.Any`` matches any kind of node-attributes. For example, following example searches ``reference`` node having ``refdomain`` attributes:: - from typing import Any + from __future__ import annotations +from typing import Any matcher = NodeMatcher(nodes.reference, refdomain=Any) doctree.findall(matcher) # => [, , ...] diff --git a/sphinx/util/osutil.py b/sphinx/util/osutil.py index e8d47c5c7..485b65e88 100644 --- a/sphinx/util/osutil.py +++ b/sphinx/util/osutil.py @@ -1,5 +1,7 @@ """Operating system-related utility functions for Sphinx.""" +from __future__ import annotations + import contextlib import filecmp import os diff --git a/sphinx/util/parallel.py b/sphinx/util/parallel.py index 201e5b5e2..a37b85346 100644 --- a/sphinx/util/parallel.py +++ b/sphinx/util/parallel.py @@ -1,5 +1,7 @@ """Parallel building utilities.""" +from __future__ import annotations + import os import time import traceback diff --git a/sphinx/util/png.py b/sphinx/util/png.py index cb7ee8be4..d2718da18 100644 --- a/sphinx/util/png.py +++ b/sphinx/util/png.py @@ -1,5 +1,7 @@ """PNG image manipulation helpers.""" +from __future__ import annotations + import binascii import struct from typing import Optional diff --git a/sphinx/util/requests.py b/sphinx/util/requests.py index 0f52d61ef..0b1058b88 100644 --- a/sphinx/util/requests.py +++ b/sphinx/util/requests.py @@ -1,5 +1,7 @@ """Simple requests package loader""" +from __future__ import annotations + import sys import warnings from contextlib import contextmanager diff --git a/sphinx/util/rst.py b/sphinx/util/rst.py index 800d15f5b..ddcef6f6d 100644 --- a/sphinx/util/rst.py +++ b/sphinx/util/rst.py @@ -1,5 +1,7 @@ """reST helper functions.""" +from __future__ import annotations + import re from collections import defaultdict from contextlib import contextmanager diff --git a/sphinx/util/tags.py b/sphinx/util/tags.py index ac69ae852..422307952 100644 --- a/sphinx/util/tags.py +++ b/sphinx/util/tags.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from typing import Iterator, List, Optional from jinja2 import nodes diff --git a/sphinx/util/template.py b/sphinx/util/template.py index 23c68e36b..d38af78d8 100644 --- a/sphinx/util/template.py +++ b/sphinx/util/template.py @@ -1,5 +1,7 @@ """Templates utility functions for Sphinx.""" +from __future__ import annotations + import os from functools import partial from os import path diff --git a/sphinx/util/texescape.py b/sphinx/util/texescape.py index ba885f695..2952c4388 100644 --- a/sphinx/util/texescape.py +++ b/sphinx/util/texescape.py @@ -1,5 +1,7 @@ """TeX escaping helper.""" +from __future__ import annotations + import re from typing import Dict, Optional diff --git a/sphinx/util/typing.py b/sphinx/util/typing.py index 8ad451f03..17bbdd152 100644 --- a/sphinx/util/typing.py +++ b/sphinx/util/typing.py @@ -1,5 +1,7 @@ """The composite types for Sphinx.""" +from __future__ import annotations + import sys import typing from struct import Struct diff --git a/sphinx/versioning.py b/sphinx/versioning.py index 06cf33cc0..f42af8942 100644 --- a/sphinx/versioning.py +++ b/sphinx/versioning.py @@ -1,4 +1,6 @@ """Implements the low-level algorithms Sphinx uses for versioning doctrees.""" +from __future__ import annotations + import pickle from itertools import product, zip_longest from operator import itemgetter diff --git a/sphinx/writers/_html4.py b/sphinx/writers/_html4.py index 4ff2ebd3a..4e996d152 100644 --- a/sphinx/writers/_html4.py +++ b/sphinx/writers/_html4.py @@ -1,5 +1,7 @@ """Frozen HTML 4 translator.""" +from __future__ import annotations + import os import posixpath import re diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py index d72433b88..e425d1238 100644 --- a/sphinx/writers/html.py +++ b/sphinx/writers/html.py @@ -1,5 +1,7 @@ """docutils writers handling Sphinx' custom nodes.""" +from __future__ import annotations + from typing import TYPE_CHECKING, cast from docutils.writers.html4css1 import Writer diff --git a/sphinx/writers/html5.py b/sphinx/writers/html5.py index 6fe9b62fd..4819be450 100644 --- a/sphinx/writers/html5.py +++ b/sphinx/writers/html5.py @@ -1,5 +1,7 @@ """Experimental docutils writers for HTML5 handling Sphinx's custom nodes.""" +from __future__ import annotations + import os import posixpath import re diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py index 2b412891b..c378935d0 100644 --- a/sphinx/writers/latex.py +++ b/sphinx/writers/latex.py @@ -4,6 +4,8 @@ Much of this code is adapted from Dave Kuhlman's "docpy" writer from his docutils sandbox. """ +from __future__ import annotations + import re import warnings from collections import defaultdict diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py index a55015647..48b8d936c 100644 --- a/sphinx/writers/manpage.py +++ b/sphinx/writers/manpage.py @@ -1,5 +1,7 @@ """Manual page writer, extended for Sphinx custom nodes.""" +from __future__ import annotations + from typing import Any, Dict, Iterable, cast from docutils import nodes diff --git a/sphinx/writers/texinfo.py b/sphinx/writers/texinfo.py index cbac28a2f..1425beae7 100644 --- a/sphinx/writers/texinfo.py +++ b/sphinx/writers/texinfo.py @@ -1,5 +1,7 @@ """Custom docutils writer for Texinfo.""" +from __future__ import annotations + import re import textwrap from os import path diff --git a/sphinx/writers/text.py b/sphinx/writers/text.py index 8df01012c..8acfe4d37 100644 --- a/sphinx/writers/text.py +++ b/sphinx/writers/text.py @@ -1,4 +1,6 @@ """Custom docutils writer for plain text.""" +from __future__ import annotations + import math import os import re diff --git a/sphinx/writers/xml.py b/sphinx/writers/xml.py index 5f9aad7fa..124c5e66a 100644 --- a/sphinx/writers/xml.py +++ b/sphinx/writers/xml.py @@ -1,5 +1,7 @@ """Docutils-native XML and pseudo-XML writers.""" +from __future__ import annotations + from typing import Any from docutils.writers.docutils_xml import Writer as BaseXMLWriter diff --git a/tests/roots/test-ext-autodoc/target/TYPE_CHECKING.py b/tests/roots/test-ext-autodoc/target/TYPE_CHECKING.py index aa7eb99a6..9d42b3872 100644 --- a/tests/roots/test-ext-autodoc/target/TYPE_CHECKING.py +++ b/tests/roots/test-ext-autodoc/target/TYPE_CHECKING.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from typing import TYPE_CHECKING if TYPE_CHECKING: diff --git a/tests/roots/test-ext-autodoc/target/__init__.py b/tests/roots/test-ext-autodoc/target/__init__.py index bb2290be6..d7ee4ac0f 100644 --- a/tests/roots/test-ext-autodoc/target/__init__.py +++ b/tests/roots/test-ext-autodoc/target/__init__.py @@ -1,7 +1,7 @@ import enum from io import StringIO -from sphinx.util import save_traceback +from ._functions_to_import import function_to_be_imported __all__ = ['Class'] diff --git a/tests/roots/test-ext-autodoc/target/_functions_to_import.py b/tests/roots/test-ext-autodoc/target/_functions_to_import.py new file mode 100644 index 000000000..7663e9798 --- /dev/null +++ b/tests/roots/test-ext-autodoc/target/_functions_to_import.py @@ -0,0 +1,8 @@ +from typing import TYPE_CHECKING, Optional + +if TYPE_CHECKING: + from sphinx.application import Sphinx + + +def function_to_be_imported(app: Optional["Sphinx"]) -> str: + """docstring""" diff --git a/tests/roots/test-ext-autodoc/target/annotated.py b/tests/roots/test-ext-autodoc/target/annotated.py index 427188256..5b87518f9 100644 --- a/tests/roots/test-ext-autodoc/target/annotated.py +++ b/tests/roots/test-ext-autodoc/target/annotated.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from typing import Annotated diff --git a/tests/roots/test-ext-autodoc/target/classes.py b/tests/roots/test-ext-autodoc/target/classes.py index 5ba0294fb..e5cce7a69 100644 --- a/tests/roots/test-ext-autodoc/target/classes.py +++ b/tests/roots/test-ext-autodoc/target/classes.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from inspect import Parameter, Signature from typing import List, Union diff --git a/tests/roots/test-ext-autodoc/target/final.py b/tests/roots/test-ext-autodoc/target/final.py index ff78442e7..a8c3860e3 100644 --- a/tests/roots/test-ext-autodoc/target/final.py +++ b/tests/roots/test-ext-autodoc/target/final.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import typing from typing import final diff --git a/tests/roots/test-ext-autodoc/target/generic_class.py b/tests/roots/test-ext-autodoc/target/generic_class.py index e6ff38abc..1ec80584d 100644 --- a/tests/roots/test-ext-autodoc/target/generic_class.py +++ b/tests/roots/test-ext-autodoc/target/generic_class.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from typing import Generic, TypeVar T = TypeVar('T') diff --git a/tests/roots/test-ext-autodoc/target/genericalias.py b/tests/roots/test-ext-autodoc/target/genericalias.py index 3856e034d..06026fbbc 100644 --- a/tests/roots/test-ext-autodoc/target/genericalias.py +++ b/tests/roots/test-ext-autodoc/target/genericalias.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from typing import Callable, List #: A list of int diff --git a/tests/roots/test-ext-autodoc/target/overload.py b/tests/roots/test-ext-autodoc/target/overload.py index 1b395ee5b..902f00915 100644 --- a/tests/roots/test-ext-autodoc/target/overload.py +++ b/tests/roots/test-ext-autodoc/target/overload.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from typing import Any, overload diff --git a/tests/roots/test-ext-autodoc/target/preserve_defaults.py b/tests/roots/test-ext-autodoc/target/preserve_defaults.py index 0cc3b4e20..2759f27e8 100644 --- a/tests/roots/test-ext-autodoc/target/preserve_defaults.py +++ b/tests/roots/test-ext-autodoc/target/preserve_defaults.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from datetime import datetime from typing import Any diff --git a/tests/roots/test-ext-autodoc/target/typehints.py b/tests/roots/test-ext-autodoc/target/typehints.py index 4acfc8911..de2f6d2a8 100644 --- a/tests/roots/test-ext-autodoc/target/typehints.py +++ b/tests/roots/test-ext-autodoc/target/typehints.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import pathlib from typing import Any, Tuple, TypeVar, Union diff --git a/tests/roots/test-ext-autodoc/target/typevar.py b/tests/roots/test-ext-autodoc/target/typevar.py index ff2d46d19..1a02f3e2e 100644 --- a/tests/roots/test-ext-autodoc/target/typevar.py +++ b/tests/roots/test-ext-autodoc/target/typevar.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from datetime import date from typing import NewType, TypeVar diff --git a/tests/roots/test-ext-autodoc/target/wrappedfunction.py b/tests/roots/test-ext-autodoc/target/wrappedfunction.py index 0bd2d2069..064d77742 100644 --- a/tests/roots/test-ext-autodoc/target/wrappedfunction.py +++ b/tests/roots/test-ext-autodoc/target/wrappedfunction.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from contextlib import contextmanager from functools import lru_cache from typing import Generator diff --git a/tests/roots/test-ext-autosummary-filename-map/autosummary_dummy_module.py b/tests/roots/test-ext-autosummary-filename-map/autosummary_dummy_module.py index 0953b64b9..9fb1256e6 100644 --- a/tests/roots/test-ext-autosummary-filename-map/autosummary_dummy_module.py +++ b/tests/roots/test-ext-autosummary-filename-map/autosummary_dummy_module.py @@ -1,3 +1,5 @@ +from __future__ import annotations + from os import path from typing import Union diff --git a/tests/test_build_linkcheck.py b/tests/test_build_linkcheck.py index dfdbb5ff3..0374e5d3f 100644 --- a/tests/test_build_linkcheck.py +++ b/tests/test_build_linkcheck.py @@ -1,5 +1,7 @@ """Test the build process with manpage builder with the test root.""" +from __future__ import annotations + import http.server import json import re @@ -8,7 +10,6 @@ import time import wsgiref.handlers from datetime import datetime from queue import Queue -from typing import Dict from unittest import mock import pytest @@ -555,7 +556,7 @@ def test_too_many_requests_user_timeout(app, capsys): class FakeResponse: - headers: Dict[str, str] = {} + headers: dict[str, str] = {} url = "http://localhost/" diff --git a/tests/test_ext_autodoc.py b/tests/test_ext_autodoc.py index 6b00373f4..ec4388bf0 100644 --- a/tests/test_ext_autodoc.py +++ b/tests/test_ext_autodoc.py @@ -808,7 +808,7 @@ def test_autodoc_imported_members(app): "imported-members": None, "ignore-module-all": None} actual = do_autodoc(app, 'module', 'target', options) - assert '.. py:function:: save_traceback(app: ~typing.Optional[Sphinx]) -> str' in actual + assert '.. py:function:: function_to_be_imported(app: ~typing.Optional[Sphinx]) -> str' in actual @pytest.mark.sphinx('html', testroot='ext-autodoc') diff --git a/tests/test_ext_autodoc_autoclass.py b/tests/test_ext_autodoc_autoclass.py index 8d85d7cd3..412f3c955 100644 --- a/tests/test_ext_autodoc_autoclass.py +++ b/tests/test_ext_autodoc_autoclass.py @@ -4,6 +4,8 @@ This tests mainly the Documenters; the auto directives are tested in a test source file translated by test_build. """ +from __future__ import annotations + from typing import List, Union import pytest diff --git a/tests/test_ext_autodoc_configs.py b/tests/test_ext_autodoc_configs.py index 31b9139fe..4f0d06bb4 100644 --- a/tests/test_ext_autodoc_configs.py +++ b/tests/test_ext_autodoc_configs.py @@ -1588,7 +1588,7 @@ def test_autodoc_default_options(app): actual = do_autodoc(app, 'class', 'target.CustomIter') assert ' .. py:method:: target.CustomIter' not in actual actual = do_autodoc(app, 'module', 'target') - assert '.. py:function:: save_traceback(app)' not in actual + assert '.. py:function:: function_to_be_imported(app)' not in actual # with :members: app.config.autodoc_default_options = {'members': None} diff --git a/tests/test_ext_autodoc_mock.py b/tests/test_ext_autodoc_mock.py index c10350fbe..0802811ae 100644 --- a/tests/test_ext_autodoc_mock.py +++ b/tests/test_ext_autodoc_mock.py @@ -1,5 +1,7 @@ """Test the autodoc extension.""" +from __future__ import annotations + import abc import sys from importlib import import_module diff --git a/tests/test_util_inspect.py b/tests/test_util_inspect.py index 753b363da..c7f9914cc 100644 --- a/tests/test_util_inspect.py +++ b/tests/test_util_inspect.py @@ -1,5 +1,7 @@ """Tests util.inspect functions.""" +from __future__ import annotations + import ast import datetime import enum diff --git a/tests/test_util_nodes.py b/tests/test_util_nodes.py index ad177a9f0..721851f92 100644 --- a/tests/test_util_nodes.py +++ b/tests/test_util_nodes.py @@ -1,4 +1,6 @@ """Tests uti.nodes functions.""" +from __future__ import annotations + import warnings from textwrap import dedent from typing import Any