Hello TYPE_CHECKING!

This commit is contained in:
Takeshi KOMIYA
2020-03-07 11:30:01 +09:00
parent 3b87df07ff
commit 941bf951ac
48 changed files with 97 additions and 119 deletions

View File

@@ -19,10 +19,6 @@ from subprocess import PIPE
from .deprecation import RemovedInNextVersionWarning
if False:
# For type annotation
from typing import Any # NOQA
# by default, all DeprecationWarning under sphinx package will be emit.
# Users can avoid this by using environment variable: PYTHONWARNINGS=

View File

@@ -10,14 +10,14 @@
import warnings
from typing import Any, Dict, List, Sequence
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.nodes import Node
from sphinx.deprecation import RemovedInSphinx40Warning
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -19,6 +19,7 @@ from collections import deque
from io import StringIO
from os import path
from typing import Any, Callable, Dict, IO, List, Tuple, Type, Union
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.nodes import Element, TextElement
@@ -53,9 +54,7 @@ from sphinx.util.osutil import abspath, ensuredir, relpath
from sphinx.util.tags import Tags
from sphinx.util.typing import RoleFunction, TitleGetter
if False:
# For type annotation
from docutils.nodes import Node # NOQA
if TYPE_CHECKING:
from sphinx.builders import Builder

View File

@@ -12,6 +12,7 @@ import pickle
import time
from os import path
from typing import Any, Dict, Iterable, List, Sequence, Set, Tuple, Type, Union
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.nodes import Node
@@ -42,8 +43,7 @@ try:
except ImportError:
multiprocessing = None
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -17,6 +17,7 @@ from os import path, getenv
from typing import (
Any, Callable, Dict, Generator, Iterator, List, NamedTuple, Set, Tuple, Union
)
from typing import TYPE_CHECKING
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.errors import ConfigError, ExtensionError
@@ -28,8 +29,7 @@ from sphinx.util.pycompat import execfile_
from sphinx.util.tags import Tags
from sphinx.util.typing import NoneType
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
from sphinx.environment import BuildEnvironment

View File

@@ -10,7 +10,7 @@
import re
from typing import Any, Dict, List, Tuple
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Node
@@ -26,8 +26,7 @@ from sphinx.util.docfields import DocFieldTransformer, Field, TypedField
from sphinx.util.docutils import SphinxDirective
from sphinx.util.typing import DirectiveOption
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -10,6 +10,7 @@ import sys
import warnings
from difflib import unified_diff
from typing import Any, Dict, List, Tuple
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.nodes import Element, Node
@@ -24,8 +25,7 @@ from sphinx.util import logging
from sphinx.util import parselinenos
from sphinx.util.docutils import SphinxDirective
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
logger = logging.getLogger(__name__)

View File

@@ -8,7 +8,7 @@
import re
from typing import Any, Dict, List
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Element, Node
@@ -26,8 +26,7 @@ from sphinx.util.docutils import SphinxDirective
from sphinx.util.matching import Matcher, patfilter
from sphinx.util.nodes import explicit_title_re
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -8,7 +8,7 @@
import warnings
from typing import Any, Dict, List, Tuple
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Node, make_id, system_message
@@ -22,8 +22,7 @@ from sphinx.domains.math import MathDomain
from sphinx.util.docutils import SphinxDirective
from sphinx.util.nodes import set_source_info
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -11,7 +11,7 @@
import copy
from typing import Any, Callable, Dict, Iterable, List, NamedTuple, Tuple, Type, Union
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Element, Node, system_message
@@ -23,8 +23,7 @@ from sphinx.locale import _
from sphinx.roles import XRefRole
from sphinx.util.typing import RoleFunction
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment

View File

@@ -9,7 +9,7 @@
"""
from typing import Any, Dict, List, NamedTuple
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Node
@@ -20,8 +20,7 @@ from sphinx.locale import _
from sphinx.util.docutils import SphinxDirective
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
from sphinx.environment import BuildEnvironment

View File

@@ -9,7 +9,7 @@
"""
from typing import Any, Dict, List, Set, Tuple
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Element
@@ -21,8 +21,7 @@ from sphinx.transforms import SphinxTransform
from sphinx.util import logging
from sphinx.util.nodes import copy_source_info, make_refnode
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment

View File

@@ -9,6 +9,7 @@
"""
from typing import Any, Dict, Iterable, List, Tuple
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.nodes import Node, system_message
@@ -22,8 +23,7 @@ from sphinx.util import split_index_msg
from sphinx.util.docutils import ReferenceRole, SphinxDirective
from sphinx.util.nodes import process_index_entry
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -10,6 +10,7 @@
import warnings
from typing import Any, Dict, Iterable, List, Tuple
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.nodes import Element, Node, system_message
@@ -24,8 +25,7 @@ from sphinx.roles import XRefRole
from sphinx.util import logging
from sphinx.util.nodes import make_refnode
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
from sphinx.builders import Builder

View File

@@ -13,7 +13,7 @@ import unicodedata
import warnings
from copy import copy
from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Type, Union
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Element, Node, system_message
@@ -32,8 +32,7 @@ from sphinx.util.docutils import SphinxDirective
from sphinx.util.nodes import clean_astext, make_id, make_refnode
from sphinx.util.typing import RoleFunction
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment

View File

@@ -15,7 +15,7 @@ from collections import defaultdict
from copy import copy
from os import path
from typing import Any, Callable, Dict, Generator, Iterator, List, Set, Tuple, Union
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Node
@@ -36,8 +36,7 @@ from sphinx.util.docutils import LoggingReporter
from sphinx.util.i18n import CatalogRepository, docname_to_domain
from sphinx.util.nodes import is_translatable
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
from sphinx.builders import Builder

View File

@@ -9,7 +9,7 @@
"""
from typing import Any, Iterable, List
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Element, Node
@@ -20,8 +20,7 @@ from sphinx.util import url_re, logging
from sphinx.util.matching import Matcher
from sphinx.util.nodes import clean_astext, process_only_nodes
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment

View File

@@ -9,13 +9,13 @@
"""
from typing import Dict, List, Set
from typing import TYPE_CHECKING
from docutils import nodes
from sphinx.environment import BuildEnvironment
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -14,14 +14,14 @@ import warnings
from collections import defaultdict
from operator import attrgetter
from typing import Any, Callable, Dict, List, NamedTuple
from typing import TYPE_CHECKING
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.errors import ExtensionError
from sphinx.locale import __
from sphinx.util import logging
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -15,6 +15,7 @@ import re
import warnings
from types import ModuleType
from typing import Any, Callable, Dict, Iterator, List, Sequence, Set, Tuple, Type, Union
from typing import TYPE_CHECKING
from docutils.statemachine import StringList
@@ -34,8 +35,7 @@ from sphinx.util.docstrings import extract_metadata, prepare_docstring
from sphinx.util.inspect import getdoc, object_description, safe_getattr, stringify_signature
from sphinx.util.typing import stringify as stringify_typehint
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.ext.autodoc.directive import DocumenterBridge

View File

@@ -17,6 +17,7 @@ import warnings
from io import StringIO
from os import path
from typing import Any, Callable, Dict, Iterable, List, Sequence, Set, Tuple, Type
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.nodes import Element, Node, TextElement
@@ -33,8 +34,7 @@ from sphinx.util.console import bold # type: ignore
from sphinx.util.docutils import SphinxDirective
from sphinx.util.osutil import relpath
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -9,14 +9,14 @@
"""
from typing import Any, Dict
from typing import TYPE_CHECKING
from sphinx.config import Config
from sphinx.errors import VersionRequirementError
from sphinx.locale import __
from sphinx.util import logging
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
logger = logging.getLogger(__name__)

View File

@@ -10,6 +10,7 @@
import codecs
import warnings
from typing import Any, List, Type
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.core import Publisher
@@ -37,8 +38,7 @@ from sphinx.util import UnicodeDecodeErrorHandler
from sphinx.util.docutils import LoggingReporter
from sphinx.versioning import UIDTransform
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -11,6 +11,7 @@
from os import path
from pprint import pformat
from typing import Any, Callable, Dict, Iterator, List, Tuple, Union
from typing import TYPE_CHECKING
from jinja2 import FileSystemLoader, BaseLoader, TemplateNotFound, contextfunction
from jinja2.environment import Environment
@@ -22,8 +23,7 @@ from sphinx.theming import Theme
from sphinx.util import logging
from sphinx.util.osutil import mtimes_of_files
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders import Builder

View File

@@ -10,6 +10,7 @@
import warnings
from typing import Any, Dict, List, Type, Union
from typing import TYPE_CHECKING
import docutils.parsers
import docutils.parsers.rst
@@ -21,8 +22,7 @@ from docutils.transforms.universal import SmartQuotes
from sphinx.deprecation import RemovedInSphinx50Warning
from sphinx.util.rst import append_epilog, prepend_prolog
if False:
# For type annotation
if TYPE_CHECKING:
from docutils.transforms import Transform # NOQA
from sphinx.application import Sphinx
@@ -70,7 +70,7 @@ class Parser(docutils.parsers.Parser):
class RSTParser(docutils.parsers.rst.Parser, Parser):
"""A reST parser for Sphinx."""
def get_transforms(self) -> List[Type[Transform]]:
def get_transforms(self) -> List[Type["Transform"]]:
"""Sphinx's reST parser replaces a transform class for smart-quotes by own's
refs: sphinx.io.SphinxStandaloneReader

View File

@@ -9,6 +9,7 @@
"""
import os
from typing import TYPE_CHECKING
from sphinx.locale import __
from sphinx.util import get_matching_files
@@ -17,9 +18,8 @@ from sphinx.util import path_stabilize
from sphinx.util.matching import compile_matchers
from sphinx.util.osutil import SEP, relpath
if False:
# For type annotation
from typing import Dict, List, Set # NOQA
if TYPE_CHECKING:
from typing import Dict, List, Set
logger = logging.getLogger(__name__)

View File

@@ -12,6 +12,7 @@ import traceback
from importlib import import_module
from types import MethodType
from typing import Any, Callable, Dict, Iterator, List, Tuple, Type, Union
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.io import Input
@@ -35,8 +36,7 @@ from sphinx.util import logging
from sphinx.util.logging import prefixed_warnings
from sphinx.util.typing import RoleFunction, TitleGetter
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
from sphinx.ext.autodoc import Documenter

View File

@@ -11,6 +11,7 @@
import re
import warnings
from typing import Any, Dict, List, Tuple, Type
from typing import TYPE_CHECKING
from docutils import nodes, utils
from docutils.nodes import Element, Node, TextElement, system_message
@@ -26,8 +27,7 @@ from sphinx.util.nodes import (
)
from sphinx.util.typing import RoleFunction
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
from sphinx.environment import BuildEnvironment

View File

@@ -16,6 +16,7 @@ import sys
from distutils.cmd import Command
from distutils.errors import DistutilsOptionError, DistutilsExecError
from io import StringIO
from typing import TYPE_CHECKING
from sphinx.application import Sphinx
from sphinx.cmd.build import handle_exception
@@ -23,9 +24,8 @@ from sphinx.util.console import nocolor, color_terminal
from sphinx.util.docutils import docutils_namespace, patch_docutils
from sphinx.util.osutil import abspath
if False:
# For type annotation
from typing import Any, Dict # NOQA
if TYPE_CHECKING:
from typing import Any, Dict
class BuildDoc(Command):

View File

@@ -14,6 +14,7 @@ import shutil
import tempfile
from os import path
from typing import Any, Dict, List
from typing import TYPE_CHECKING
from zipfile import ZipFile
import pkg_resources
@@ -24,8 +25,7 @@ from sphinx.locale import __
from sphinx.util import logging
from sphinx.util.osutil import ensuredir
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -10,6 +10,7 @@
import re
from typing import Any, Dict, Generator, List, Tuple
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.nodes import Element, Node, Text
@@ -28,8 +29,7 @@ from sphinx.util.docutils import new_document
from sphinx.util.i18n import format_date
from sphinx.util.nodes import NodeMatcher, apply_source_workaround, is_smartquotable
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
from sphinx.domain.std import StandardDomain
from sphinx.environment import BuildEnvironment

View File

@@ -11,6 +11,7 @@
from os import path
from textwrap import indent
from typing import Any, Dict, List, Tuple, Type, TypeVar
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.io import StringInput
@@ -29,8 +30,7 @@ from sphinx.util.nodes import (
extract_messages, is_pending_meta, traverse_translatable_index,
)
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -9,14 +9,14 @@
"""
from typing import Any, Dict
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.transforms.references import DanglingReferences, Substitutions
from sphinx.transforms import SphinxTransform
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -26,6 +26,7 @@ from importlib import import_module
from os import path
from time import mktime, strptime
from typing import Any, Callable, Dict, IO, Iterable, Iterator, List, Pattern, Set, Tuple, Type
from typing import TYPE_CHECKING
from urllib.parse import urlsplit, urlunsplit, quote_plus, parse_qsl, urlencode
from sphinx.deprecation import RemovedInSphinx40Warning
@@ -49,8 +50,7 @@ from sphinx.util.nodes import ( # noqa
from sphinx.util.matching import patfilter # noqa
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -11,6 +11,7 @@
import sys
import warnings
from typing import Any, Dict
from typing import TYPE_CHECKING
from docutils.utils import get_source_line
@@ -18,8 +19,7 @@ from sphinx import addnodes
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.transforms import SphinxTransform
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -11,7 +11,7 @@
import warnings
from typing import Any, Dict, List, Tuple, Type, Union
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Node
@@ -20,8 +20,7 @@ from sphinx import addnodes
from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.util.typing import TextlikeNode
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.environment import BuildEnvironment
from sphinx.directive import ObjectDescription

View File

@@ -16,7 +16,7 @@ from distutils.version import LooseVersion
from os import path
from types import ModuleType
from typing import Any, Callable, Dict, Generator, IO, List, Optional, Set, Tuple, Type
from typing import cast
from typing import TYPE_CHECKING, cast
import docutils
from docutils import nodes
@@ -34,8 +34,7 @@ from sphinx.util.typing import RoleFunction
logger = logging.getLogger(__name__)
report_re = re.compile('^(.+?:(?:\\d+)?): \\((DEBUG|INFO|WARNING|ERROR|SEVERE)/(\\d+)?\\) ')
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders import Builder
from sphinx.config import Config
from sphinx.environment import BuildEnvironment

View File

@@ -11,14 +11,14 @@
import os
import posixpath
from typing import Dict
from typing import TYPE_CHECKING
from docutils.utils import relative_path
from sphinx.util.osutil import copyfile, ensuredir
from sphinx.util.typing import PathMatcher
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.util.template import BaseRenderer

View File

@@ -14,6 +14,7 @@ import warnings
from datetime import datetime, timezone
from os import path
from typing import Callable, Generator, List, NamedTuple, Set, Tuple
from typing import TYPE_CHECKING
import babel.dates
from babel.messages.mofile import write_mo
@@ -26,8 +27,7 @@ from sphinx.util import logging
from sphinx.util.matching import Matcher
from sphinx.util.osutil import SEP, canon_path, relpath
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.environment import BuildEnvironment

View File

@@ -11,6 +11,7 @@ import os
import re
import zlib
from typing import Callable, IO, Iterator
from typing import TYPE_CHECKING
from sphinx.util import logging
from sphinx.util.typing import Inventory
@@ -19,8 +20,7 @@ from sphinx.util.typing import Inventory
BUFSIZE = 16 * 1024
logger = logging.getLogger(__name__)
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment

View File

@@ -13,6 +13,7 @@ import logging.handlers
from collections import defaultdict
from contextlib import contextmanager
from typing import Any, Dict, Generator, IO, List, Tuple, Type, Union
from typing import TYPE_CHECKING
from docutils import nodes
from docutils.nodes import Node
@@ -21,8 +22,7 @@ from docutils.utils import get_source_line
from sphinx.errors import SphinxWarning
from sphinx.util.console import colorize
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx

View File

@@ -11,7 +11,7 @@
import re
import warnings
from typing import Any, Callable, Iterable, List, Set, Tuple, Type
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Element, Node
@@ -24,8 +24,7 @@ from sphinx.deprecation import RemovedInSphinx40Warning
from sphinx.locale import __
from sphinx.util import logging
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment
from sphinx.utils.tags import Tags

View File

@@ -13,14 +13,14 @@ from itertools import product, zip_longest
from operator import itemgetter
from os import path
from typing import Any, Dict, Iterator
from typing import TYPE_CHECKING
from uuid import uuid4
from docutils.nodes import Node
from sphinx.transforms import SphinxTransform
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.application import Sphinx
try:

View File

@@ -13,7 +13,7 @@ import os
import posixpath
import warnings
from typing import Any, Iterable, Tuple
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Element, Node, Text
@@ -27,8 +27,7 @@ from sphinx.util import logging
from sphinx.util.docutils import SphinxTranslator
from sphinx.util.images import get_image_size
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders.html import StandaloneHTMLBuilder

View File

@@ -12,7 +12,7 @@ import os
import posixpath
import warnings
from typing import Any, Iterable, Tuple
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes
from docutils.nodes import Element, Node, Text
@@ -26,8 +26,7 @@ from sphinx.util import logging
from sphinx.util.docutils import SphinxTranslator
from sphinx.util.images import get_image_size
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders.html import StandaloneHTMLBuilder

View File

@@ -16,7 +16,7 @@ import warnings
from collections import defaultdict
from os import path
from typing import Any, Dict, Iterable, Iterator, List, Tuple, Set, Union
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes, writers
from docutils.nodes import Element, Node, Text
@@ -42,8 +42,7 @@ except ImportError:
# In Debain/Ubuntu, roman package is provided as roman, not as docutils.utils.roman
from roman import toRoman # type: ignore
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders.latex import LaTeXBuilder
from sphinx.builders.latex.theming import Theme

View File

@@ -12,7 +12,7 @@ import re
import textwrap
from os import path
from typing import Any, Dict, Iterable, Iterator, List, Pattern, Set, Tuple, Union
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes, writers
from docutils.nodes import Element, Node, Text
@@ -27,8 +27,7 @@ from sphinx.util.docutils import SphinxTranslator
from sphinx.util.i18n import format_date
from sphinx.writers.latex import collected_footnote
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders.texinfo import TexinfoBuilder

View File

@@ -13,7 +13,7 @@ import re
import textwrap
from itertools import groupby, chain
from typing import Any, Dict, Generator, List, Iterable, Optional, Set, Tuple, Union
from typing import cast
from typing import TYPE_CHECKING, cast
from docutils import nodes, writers
from docutils.nodes import Element, Node, Text
@@ -23,8 +23,7 @@ from sphinx import addnodes
from sphinx.locale import admonitionlabels, _
from sphinx.util.docutils import SphinxTranslator
if False:
# For type annotation
if TYPE_CHECKING:
from sphinx.builders.text import TextBuilder