Repository navigation
chore(deps): upgrade dependency sphinx-autodoc-typehints to v3.17.4 - #3390
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/sphinx-autodoc-typehints-3.x
branch
from
September 29, 2026 21:03
8f6585f to
012a077
Compare
renovate
Bot
force-pushed
the
renovate/sphinx-autodoc-typehints-3.x
branch
from
October 7, 2026 03:02
012a077 to
7754698
Compare
renovate
Bot
force-pushed
the
renovate/sphinx-autodoc-typehints-3.x
branch
from
October 13, 2026 20:42
7754698 to
6078418
Compare
renovate
Bot
force-pushed
the
renovate/sphinx-autodoc-typehints-3.x
branch
from
October 16, 2026 19:11
6078418 to
57e9113
Compare
renovate
Bot
force-pushed
the
renovate/sphinx-autodoc-typehints-3.x
branch
from
October 17, 2026 02:14
57e9113 to
eaad9af
Compare
renovate
Bot
force-pushed
the
renovate/sphinx-autodoc-typehints-3.x
branch
from
October 17, 2026 06:33
eaad9af to
c3b4367
Compare
renovate
Bot
force-pushed
the
renovate/sphinx-autodoc-typehints-3.x
branch
from
October 17, 2026 22:33
c3b4367 to
edaa05a
Compare
renovate
Bot
force-pushed
the
renovate/sphinx-autodoc-typehints-3.x
branch
from
October 27, 2026 00:58
edaa05a to
f783a4d
Compare
renovate
Bot
force-pushed
the
renovate/sphinx-autodoc-typehints-3.x
branch
from
October 27, 2026 10:12
f783a4d to
da3921f
Compare
renovate
Bot
force-pushed
the
renovate/sphinx-autodoc-typehints-3.x
branch
from
October 27, 2026 21:51
da3921f to
bc7177e
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
==3.13.6→==3.17.4Release Notes
tox-dev/sphinx-autodoc-typehints (sphinx-autodoc-typehints)
v3.17.4Compare Source
Bug fixes
typealias an inventory lists as data, such asnumpy.typing.NDArray, resolves through intersphinx (#1105) by @gaborbernat.🐍 PyPI release
📜 Full Changelog
v3.17.3Compare Source
Packaging
🐍 PyPI release
📜 Full Changelog
v3.17.2Compare Source
Bug fixes
🐍 PyPI release
📜 Full Changelog
v3.17.1Compare Source
Packaging
🐍 PyPI release
📜 Full Changelog
v3.17.0Compare Source
Features
typehints_modernize_annotationsto render legacytypingaliases with current Python spelling. #1085 by @gaborbernat."optional"default style that marks parameters callers may omit without printing their default values. #1086 by @gaborbernat.Annotatedmetadata classes other thanDoc. #1088 by @gaborbernat.Documentation
autodoc_preserve_defaultsapplies to default values in parameter descriptions. #1087 by @gaborbernat.🐍 PyPI release
📜 Full Changelog
v3.16.0Compare Source
Features
Docdescriptions from annotated-doc as well as typing_extensions. #1083 by @gaborbernat.Bug fixes
html_static_path. #1079 by @gaborbernat.autodoc_use_type_comments = Falsewhen reading types from a function's# type:comment. #1080 by @gaborbernat.TYPE_CHECKINGguard's branch; skip guards whose other conditions cannot be determined without running code. #1081 by @gaborbernat.:Returns:fields, and recognize numpydoc return types containing spaces. #1082 by @gaborbernat.Documentation
NamedTuplereferences in both modes. #1084 by @gaborbernat.🐍 PyPI release
📜 Full Changelog
v3.15.0Compare Source
Features
Annotatedmetadata in rendered types withtypehints_annotated_metadata. #1071 by @gaborbernat.typehints_formatterreceive whether a type appears in a parameter, return, attribute or base whentypehints_formatter_pass_contextis enabled. #1073 by @gaborbernat.Bug fixes
typehints_formatterchanges in an incremental build, so their rendered types update withoutsphinx-build -E. #1069 by @gaborbernat.html_static_pathas changed after the extension adds its stylesheet. #1070 by @gaborbernat.Cannot subscript already-subscripted typing.Generic. #1074 #1075 by @gaborbernat.Annotatedmetadata raises during comparison with the getter type, instead of failing the build. #1076 by @gaborbernat.:Returns:field instead of interpreting it as a numpydoc return type. #1077 by @gaborbernat.if TYPE_CHECKING and Falseinstead of resolving types the branch never defines. #1078 by @gaborbernat.Packaging
🐍 PyPI release
📜 Full Changelog
v3.14.0Compare Source
Features
Generic[T]subclasses in their signature, such asbounded[T: int](value)andclass Stack[T], with bounds, constraints and defaults. #867 by @gaborbernat.**kwargs: Unpack[TypedDict]documented as keyword arguments. #869 by @gaborbernat.Overridesfield linking the base class member a@typing.overridemethod replaces. #871 by @gaborbernat.TypedDictkeys a caller may omit asNotRequired[...], and add anExtra itemsfield for PEP 728extra_itemsandclosedclasses. #873 by @gaborbernat.@warnings.deprecatedmessage as a deprecation notice below the summary. #874 by @gaborbernat.Tinstead ofTypeVar(T, bound=int), andP.argsandP.kwargsof a declared**Pas written. #888 by @gaborbernat.Yieldssection when its docstring has aReturnssection and the third argument of itsGeneratorannotation is notNone. #889 by @gaborbernat.typehints_use_signature, render the types kept in the signature the same way as the fields, so stubs, guarded imports, documented aliases,typehints_fixup_module_name,typehints_fully_qualifiedandtypehints_formatterapply to both. #895 by @gaborbernat.sentinelbuiltin andtyping_extensions.Sentinel, by their name as apy:datareference instead of linking a nonexistentsentinelclass. #912 by @gaborbernat.:ivar:,:cvar:and:var:fields from class-body and base class annotations, droppingClassVarandFinalqualifiers. #916 by @gaborbernat.Yieldsentry of a generator, keeping a type the docstring already states. #917 by @gaborbernat.napoleon_use_ivar = False, type.. attribute::entries fromself.x: Tannotations in__init__unlessnapoleon_attr_annotations = False; a:type:already in the docstring wins. #918 by @gaborbernat.Setter acceptsfield to a property whose setter annotation differs from the getter's return type. #919 by @gaborbernat.intforTunderclass IntStore(Store[int]), in what it inherits from a generic base, covering parameter and return fields, overloads, attribute and property headers,:vartype:fields andTypedDictkeys. #921, #926, #938 by @gaborbernat.list(), in the signature and fields instead of<factory>orNOTHING; lambdas, partials and nested functions keep<factory>. #922 by @gaborbernat.typehints_fully_qualified,typehints_formatterandtypehints_fixup_module_nameapply there and the header dropsAnnotatedmetadata. #923 by @gaborbernat.typehints_use_signature = True, show one typed signature line per@overloadinstead of the untyped implementation signature and anOverloadsfield. #927 by @gaborbernat.TypeVar,ParamSpecorTypeVarTuplein docstring fields by its name, as a PEP 695 type parameter renders, instead of as aTypeVar(B, bound=Sized)call, andP.argsas written instead ofParamSpecArgs(P); the name links to the variable's own entry, which shows its bound or constraints, when the docs document it. #1044 by @gaborbernat.'fill'inLiteral["fill", 1, None], now take the colors of the project's Pygments style in light and dark mode, the way a code block does. #1046 by @gaborbernat.TypeVarTupleor tuple with the PEP 646 star,*Tsand*tuple[int, ...], instead ofUnpack[Ts];Unpack[TypedDict]for**kwargskeeps its spelling. #1047 by @gaborbernat.typing.ContextManager[None]renders asContextManager[None]instead ofContextManager[None, bool | None]on Python 3.13 and later; a writtentyping.Generator[int, None, None]renders asGenerator[int]. #1054 by @gaborbernat.Bases:line of a class documented with:show-inheritance:as a docstring field renders a type, so a generic base such asMapping[str, int]followstypehints_fully_qualified,typehints_fixup_module_nameandtypehints_formatter, and a PEP 695 base such asStack[T]keeps its argument where Sphinx left it off. #1058 by @gaborbernat.Bug fixes
"a positive float", as written with aforward_referencewarning instead of aborting the build. #789 by @gaborbernat.sphinx.ext.autodocbefore connecting to its events, so listing this extension first or omitting autodoc no longer fails withUnknown event name. #790 by @gaborbernat.QuerySet[...]withoutdjango-stubs-ext, also for a function re-exported with a rewritten__module__, instead of showing them all as plain text. #791, #901 by @gaborbernat.__new__from__new__, asinspect.signaturedoes, and take a__new__-only class's parameter types from__new__rather than the class body. #792 by @gaborbernat.x, y : int, and singleYieldsentries. #793 by @gaborbernat.typehints_defaults = "braces-after"defaults on their own parameter when the docstring already has:type:lines or napoleon types. #794 by @gaborbernat.:returns:withtypehints_use_rtype = Falsewhen the docstring also has:rtype:or its:returns:text starts on the next line. #795 by @gaborbernat.Attributesentries from the class,__init__and module annotations, linked and rendered like other fields withtypehints_fully_qualified, type aliases andtypehints_formatterapplied, unlessnapoleon_attr_annotationsisFalse. #796, #966 by @gaborbernat.staticmethod(func)and of name-mangled private static methods. #797 by @gaborbernat.Overloadslist, leave outselfandcls, and show constructor overloads. #798 by @gaborbernat.always_document_param_typeschanges, so incremental builds pick up the new setting. #799 by @gaborbernat.:no-overloads:marker from the output whentypehints_document_overloadsisFalse. #800 by @gaborbernat.typehints_use_signature_return = True. #801 by @gaborbernat.strip_signature_backslashis on. #802 by @gaborbernat.sphinx.ext.doctestfailures on the line the example starts on instead of one line late. #804 by @gaborbernat.Callableparameterized by aParamSpecorConcatenateasCallable[P, int]instead ofCallable[[P], int]. #805 by @gaborbernat.P.argsandP.kwargsasParamSpecArgs(P)andParamSpecKwargs(P), naming theParamSpecthey belong to. #806 by @gaborbernat.TypeVarorParamSpecafter its bound, as inTypeVar(T, bound=int, default=bool). #807 by @gaborbernat.ParamSpecargument list of a generic as a list,Box[[int, str]], instead of a tuple. #808 by @gaborbernat.TypeVarTupleasTypeVarTuple(Ts)linking totyping.TypeVarTuple, instead of a broken reference that loses its name. #809 by @gaborbernat.Optional[Union[...]]withsimplify_optional_unions = Falseon Python before 3.14. #810 by @gaborbernat.typing_extensions.TypeAliasTypeliketypestatement aliases instead of as theTypeAliasTypeclass. #811 by @gaborbernat.TYPE_CHECKINGguards written through a module alias, on one line, with a comment at column zero, or at the end of the file. #813 by @gaborbernat.from __future__ import annotations. #814, #941 by @gaborbernat.TYPE_CHECKINGregardless of which class Sphinx documents first. #815 by @gaborbernat.Keyword Argssection, and stopalways_document_param_typeslisting them again under Parameters. #816 by @gaborbernat.autoclass_content = "both", list each constructor parameter once, including those added throughalways_document_param_typesorDoc(). #817, #925 by @gaborbernat.sys.version_infoandsys.platformblocks, merge all overload variants of a stub function, and check re-exports. #818 by @gaborbernat.typesclasses, so references resolve againstdocs.python.org/3when building on Python 3.12. #820 by @gaborbernat.TYPE_CHECKINGin attrs class fields, fixing aNameErrorcrash on Python 3.14 and a forward-reference warning on older versions. #822 by @gaborbernat.AttributeErrorbuilding man pages for projects that document a function taking atypealias. #823 by @gaborbernat.typehints_formatterwhen rendering signatures withtypehints_use_signatureortypehints_use_signature_return. #824 by @gaborbernat."* weird"annotation stays inline instead of producing a list or crashing. #825 by @gaborbernat.forward_referencewhen an annotation names a missing module attribute, such astyping.TypeIson Python 3.12. #826 by @gaborbernat..pyistub refers to throughimport pkg.suborfrom . import sub, so their types are no longer dropped. #827 by @gaborbernat.__module__find theirTYPE_CHECKINGimports. #828 by @gaborbernat... py:type::by name only where the annotation writes that name, whatever order Sphinx reads the entries in, sointparameters no longer render as an alias ofint. #829, #920 by @gaborbernat.typealias to its own entry, not to a different documented alias with the same name. #831 by @gaborbernat.TYPE_CHECKINGguards written asif not TYPE_CHECKING: ... else:or combined withand/or, so their imports resolve. #833 by @gaborbernat.self.x: Tannotations nested inif,try,with, loop andmatchblocks of__init__, and handle a positional-onlyself. #834 by @gaborbernat.functools.cacheandfunctools.lru_cachedecorated functions on Python 3.14. #835 by @gaborbernat.napoleon_use_param = Falseornapoleon_use_keyword = False, type the entries of napoleon's combined parameter field, add their defaults, and list the parameters the extension adds there instead of in a second list. #836, #886 by @gaborbernat.typehints_defaults, show the default of a parameter typed only in its docstring, whether through a:type:line, a:param str c:field or napoleon's combined parameter field. #837, #884 by @gaborbernat.functools.singledispatchimplementations, so each registered implementation shows the type it dispatches on. #838 by @gaborbernat.typehints_defaults, render defaults the way the signature does, without memory addresses, with enum members by name and with sets in a stable order. #839 by @gaborbernat.Literalvalues, soLiteral["\n"]renders as written instead ofLiteral['n']. #840 by @gaborbernat.tuple[()]andTuple[()]as the empty tuple instead of a baretuple. #841 by @gaborbernat.typealias passed to itself, such asPair[Pair[int]], instead of dropping the inner arguments. #842 by @gaborbernat.Literalmember, asLiteral[Color.RED, Light.RED]instead ofLiteral[RED, RED]. #843 by @gaborbernat.autodoc_mock_importsmodules, such asNDArray[float64], instead of a garbled name. #844 by @gaborbernat.Literalstring values that contain backticks without breaking the surrounding markup. #845 by @gaborbernat.|of a union around anautodoc_type_aliasesname on Python 3.12 and 3.13 instead of renderingOptionalorUnion. #846 by @gaborbernat.typehints_defaults = "braces-after", put the default at the end of the last plain paragraph of the description instead of inside a trailing list, directive or literal block. #847 by @gaborbernat...placeholder as no description, so entries without one render asx (int)instead ofx (int) -- ... #848 by @gaborbernat.Returnsdescription of a function without parameters instead of adding a second one from the return annotation'sDoc(). #849 by @gaborbernat.Returnssection that only describes the value. #850 by @gaborbernat.:rtype:as a whole instead of leaving its continuation lines behind. #851 by @gaborbernat.typehints_use_rtype = False, add the return type to a:returns:description that contains--. #852 by @gaborbernat.always_document_param_typesorDoc()in signature order among the documented ones instead of in a second list at the end of the docstring. #853 by @gaborbernat.versionadded,deprecatedandseealso, as before docutils directives likenote. #854 by @gaborbernat.autodoc_type_aliasestargets documented as module data or in a document read later. #855 by @gaborbernat.typealias even when the docs have no entry for its arguments, instead of expanding it. #856 by @gaborbernat.typing_extensionsprovides on the running Python, such asTypeIson 3.12 andDoc, totyping_extensionsinstead of a missingtypingtarget. #857 by @gaborbernat.@overloadsignatures from other Sphinx apps in the same process that do not load the extension. #858 by @gaborbernat... include::. #859 by @gaborbernat.typehints_defaultsortypehints_formattervalue as a configuration error instead of an extension crash with a traceback. #860 by @gaborbernat.Unparsable type hint commentfor a lambda assigned with a variable type comment. #861 by @gaborbernat.Returnsentry, renderingratio (float) -- The ratio.. #862 by @gaborbernat.undoc-members. #863 by @gaborbernat.Other Parameterssection under its own heading instead of merging it intoParameters. #864 by @gaborbernat.*tuple[...], rendering it asUnpack[tuple[...]]. #865 by @gaborbernat.TypeVar(T, bound=int)without a gap after the=. #866 by @gaborbernat.InitVar[...]instead of rendering a bareInitVar. #875 by @gaborbernat.:param:,:returns:and:yields:lines inside literal blocks and directives alone instead of treating them as the object's fields. #876 by @gaborbernat.functools.partialobjects,partialmethodand callable instances from the function they call, moving the annotations from the signature into the fields. #877 by @gaborbernat.typealias whose value raises, as written instead of crashing the build or dropping the object. #878, #897 by @gaborbernat.list assignment index out of range. #879 by @gaborbernat.clsfrom the signature of a@classmethodstacked on another decorator such asfunctools.cache. #880 by @gaborbernat.cannot cache unpickleable configuration valuewarning fortypehints_fixup_module_name, and re-read the documents only when that function's source changes instead of on every build. #881, #937 by @gaborbernat.__signature__, such as a pydantic model, by that signature with its fields typed. #883 by @gaborbernat.typehints_use_rtype = False, keep the inline return type when the docstring had an:rtype:field. #885 by @gaborbernat.__init__that dataclasses and attrs generate, instead of pointing at a nonexistent<string>.rst. #887 by @gaborbernat.autodoc_typehints_format = "fully-qualified":typehints_fully_qualifieddefaults to it, so fields, signatures and type parameters show full paths. An explicittypehints_fully_qualifiedstill wins. #891 by @gaborbernat.Gen[int] | Noneunderautodoc_mock_imports, which rendered as unlinked text on Python 3.14 or withfrom __future__ import annotations. #892 by @gaborbernat..pyistub imports with a plainimportbut that is not installed, so types likenpt.NDArrayrender as cross-references instead of raising aforward_referencewarning. #893 by @gaborbernat... autofunction:: mod.f(x, y=3), or read from the docstring throughautodoc_docstring_signature, when it names other parameters than the object takes, instead of replacing it with the object's own. One made of*argsand**kwargsalone still gets the object's parameters (#903). #896 by @gaborbernat.typealiases that parameter types use, fixing broken cross-references. #902 by @gaborbernat..pyistub when the stub changes, so an incremental build picks up the edit. #905 by @gaborbernat.Overloadslist after a literal block that the summary introduces with::, instead of inside it. #907 by @gaborbernat./and keyword-only*markers, defaults and the stars of*argsand**kwargsinOverloadsentries. #910 by @gaborbernat.bound="None"on an unboundParamSpecon Python 3.12 and early 3.13 releases. #911 by @gaborbernat.typehints_defaultsmode. #913 by @gaborbernat.Explicit markup ends without a blank linewarning when numpydoc processes a docstring without aParameterssection and the extension adds parameter types. #914 by @gaborbernat.Annotated[Iterator[int], {"unit": "m"}], when its docstring has aYieldssection. #928 by @gaborbernat.__signature__a decorator sets on its wrapper, so the signature and the parameter fields list the parameters callers pass instead of those of the wrapped function; the signature shows types only undertypehints_use_signature. #931, #946 by @gaborbernat.Annotatedreturn annotation before checking it, so anAnnotatedgenerator types itsYieldsentry instead of getting a return type, andtypehints_document_rtype_none = FalsehidesAnnotated[None, ...]. #939 by @gaborbernat.if TYPE_CHECKING:block without writing to the module, so the names it defines, such as@overloadstubs orProtocolclasses, no longer replace runtime bindings or show up as module members. #960, #984 by @gaborbernat.__class_getitem__returns the class itself, such as SQLAlchemy'sTypeEngine[Any], in headers, parameter and return fields, signatures, overloads and:ivar:types. #963 by @gaborbernat.if TYPE_CHECKING:blocks import from each other to their guarded types, whichever module Sphinx documents first. #969 by @gaborbernat.:Parameters:definition lists, alone instead of converting them as numpydoc output into empty:param :fields. #979 by @gaborbernat.TYPE_CHECKING, such as_t.UriTypein requests, instead of dropping the type. #985 by @gaborbernat..pyistub defines to the module the stub describes, such asext.Config, instead of rendering it as an unresolved bareConfigwhen the function is documented through a re-export. #1011 by @gaborbernat.typing.NewTypeclass ortyping.Annotatedform; the field names it as a reference, as the signature does. #1013 by @gaborbernat... autofunction::no longer listselfand-> None, and overloads of a function documented with.. autoclass::keep their first parameter and return types. #1014 by @gaborbernat.typeno longer links to an unrelated documented attribute such asEvent.type. #1017 by @gaborbernat.py:classand apy:dataname to the class entry on every build, instead of a name that changed withPYTHONHASHSEED. #1018 by @gaborbernat.NamedTuple's__new__on its own, withautomethodor:special-members: __new__, no longer warns that names its fields use, such asPathorint, are not defined. #1019 by @gaborbernat.__init__now shows the type a subclass binds, such asintforclass Child(Base[int]), in that subclass's:ivar:fields instead of the bare type parameter. #1020 by @gaborbernat.autodoc_mock_importswithout aborting the build withwrapper loop when unwrapping. #1022 by @gaborbernat.__annotations__, so the object reads the same after a build as before it. #1025 by @gaborbernat.typehints_formatterthat returns an empty string now hides the type instead of showing raw:sphinx_autodoc_typehints_type:text in docstring fields or an empty annotation such asattr: = 1in headers and signatures, and drops theReturn type,Extra itemsandSetter acceptsfields it empties. #1026 by @gaborbernat.typestatement or a module-levelCount = int, used by anautomodulemember when itspy:typecomes later on the page, instead of expanding it to its value. #1027 by @gaborbernat.TYPE_CHECKINGblock of each module again in every build, so a module edited and imported again between builds renders its new types. #1030 by @gaborbernat.Literalto its enum when the member has no entry of its own, such as a member without a docstring under:members:, instead of rendering it unlinked with anitpickywarning. #1035 by @gaborbernat.None,TrueandFalseinsideLiteral[...]to the Python docs, the same wayNonelinks outside it, instead of rendering them as plain text. #1038 by @gaborbernat.__module__isNonenow renders as its bare name instead of a broken cross-reference toNone.ClassName. #1039 by @gaborbernat.typehints_formatterwrites between bare backticks inside an expanded type alias now use the document'sdefault_role, as they do outside an alias, instead of rendering as italic text. #1040 by @gaborbernat.napoleon_attr_annotationsoff for napoleon in its own project only, so the first build after upgrading re-reads every document once. [#1048](https://redirect.github.com/tox-dev/sphiConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.