You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs: aenum and stdlib enum unions render as IntEnum | IntEnum and Enum | Enum #1858
Parameters annotated StdlibIntEnum | AenumIntEnum render as IntEnum | IntEnum: the first links to Python's enum.IntEnum and the second is plain text. Examples are protocol make parameters across the layers, corekit/fields and dumpkit/pcap.py:114. render_enum(o: 'enum.Enum | aenum.Enum') (dumpkit/common.py:195) renders Enum | Enum. This persists on sphinx-autodoc-typehints 3.15.0.
Root cause: typehints_fully_qualified = False (docs/source/conf.py:196) shortens both classes to the bare name, and aenum has no inventory (conf.py:144-153), so the two look identical.
Fix: a typehints_formatter that renders aenum classes qualified (aenum.IntEnum) and returns None otherwise; a prototype fixed every parameter and return type. Bases: lines such as NumberField[IntEnum | IntEnum] go through Sphinx's restify and are not covered by the formatter. Only one typehints_formatter can be configured, so any other formatter-based fix has to share it.
Blocked until #1856 merges. That PR bumps sphinx-autodoc-typehints, which changes how signatures render, and it edits docs/source/conf.py, which this fix also edits.
Started on top of #1877, the PR for #1856, so the conf.py edits don't conflict. One worker is taking #1858–#1863 together, since every fix goes through conf.py.
Activity
JarryShaw commentedon Oct 16, 2026
Blocked until #1856 merges. That PR bumps sphinx-autodoc-typehints, which changes how signatures render, and it edits
docs/source/conf.py, which this fix also edits.JarryShaw commentedon Oct 17, 2026
Started on top of #1877, the PR for #1856, so the
conf.pyedits don't conflict. One worker is taking #1858–#1863 together, since every fix goes throughconf.py.docs(conf): fix class signatures, defaults, aenum names, table ids an…
docs(conf): fix class signatures, defaults, aenum names, table ids an…
docs(conf): fix class signatures, defaults, aenum names, table ids an…
docs(conf): fix class signatures, defaults, aenum names, table ids an…