-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Open
Description
I find autodoc hard to reason about currently; the core implementation is a 3,200 line file with unhelpful uses of mixin classes, etc. This is a tracking issue for improvements.
A
- Refactor
sphinx.ext.autodocinternals #13744 - Merge DocstringStripSignatureMixin into DocstringSignatureMixin #13752
- Merge
DecoratorDocumenter.format_args()into FunctionDocumenter #13753 - Combine
resolve_name()methods #13754 - Merge
DocstringSignatureMixinintoDocumenter#13755 - Improve autodoc sentinels #13756
- Inline
DataDocumentermixin classes #13757 - Inline
AttributeDocumentermixin classes #13758 - Move options processing to
_directive_options#13759 - Extract autodoc importing to module-level functions #13773
- Make
_Sentinelimmutable #13782 - Introduce a new type for documenter options #13783
- Hold properties for the documented objects in new types #13796
- Combine name resolution and importing #13797
- Add
object_nameto_ItemProperties#13798 - Store object
__module__forget_real_modname()#13799 - Prefer using attributes on
self.propsin Documenter classes #13801 - Warn on invalid module
__all__during initial load #13802 - Prefer using attributes on
documenter.props(followup) #13803 - Refactor
sphinx.ext.autodocinternals #13744 - Prefer
props._objtodocumenter.object#13804 - Extract autodoc object member gathering #13820
- Extract directive header construction from runtime introspection #13931
- Consolidate
add_content()handling #13936 - Extract most docstring-related logic #13941
- Move property type annotation logic to importer #13948
- Consolidate
format_args()#13949 - Improve signature handling in autodoc #13955
- Improve various autodoc tests #13958
- Merge remaining special cases into
Documenter#13959 - Treat
Documenter.indentas a constant #13960 - Use a new
_best_object_type_for_member()function #13961 - Remove member_order attributes #13962
- Remove unused items in
_documenters#13963 - Delete FakeDirective in autosummary #13967
- Extract
_gather_members()#13968 - Use
_AutodocObjTypemore consistently #13970 - Introduce
_AutodocAttrGettertype #13971 - Extract the
_docstring_source_name()function #13972 - Use
ModuleSpec.origin#13973 - Simplify
Autosummary.get_items()#13974 - Avoid using
Documenter.name#13975 - Extract
_prepare_docstrings()#13977 - Use
_load_object_by_name()directly #13978 - Move member merging logic from
optionsto_member_finder#13982 - Remove
DocumenterBridge#13984 - Extract
_generate_directives()fromDocumenter._generate()#13985 - Use more type aliases for autodoc event listeners #14008
- Consolidate option spec processing into
_directive_options.py#14009 - Accept a sequence of strings in
extract_summary()#14014 - Calculate and use the
docstring_linesattribute #14015 - Inline
_get_doc()into_get_docstring_lines()#14016 - Use
parent_modnameandcanonical_module_name#14017 - Remove
envfrom autodoc interfaces #14018 - Define and use
TEST_ROOTS_DIR#14020 - Group the type alias cross-referencing test with Python domain tests #14021
- Split out
test_ext_autodoc_typehints#14027 - Integrate autodoc event callbacks into importer #14031
- Split autodoc signature utilities to a new module #14032
- Split autodoc name parsing utilities to a new module #14033
- Combine type comment utilities into
_type_comments.py#14034 - Split autodoc loader functions to a new module #14035
- Reorganise and rename
sphinx.ext.autodoc._importer#14036 - Add a shared utilities module for autodoc #14037
- Reduce autodoc test duration by up to four times #14039
- Introduce
_auto_document_object()#14084 - Introduce
sphinx.ext.autodoc._dynamicsubpackage #14087 - Make
sphinx.ext.autodoc._directiveprivate #14090 - Restore the legacy implementation of autodoc for compatibility #14091
Reactions are currently unavailable