From 2d355073641c02e7f89d11ee233a453d5fafc546 Mon Sep 17 00:00:00 2001 From: Paul Andrey <paul.andrey@inria.fr> Date: Thu, 18 Jul 2024 14:58:59 +0200 Subject: [PATCH] Fix API docs generation. When a '__all__' value is provided in a public module, make use of it instead of collecting each and every member. This fixes the collection breaking upon encountering external packages such as 'warnings' in an '__init__.py' file. --- scripts/gen_docs.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/gen_docs.py b/scripts/gen_docs.py index 645ca0ff..742e64ec 100644 --- a/scripts/gen_docs.py +++ b/scripts/gen_docs.py @@ -165,7 +165,11 @@ def _generate_private_submodules_content_doc( ) -> Dict[str, str]: """Create files for public contents from a module's private submodules.""" pub_obj = {} - for key, obj in module.members.items(): + if module.exports is None: + members = module.members + else: + members = {str(k): module.members[str(k)] for k in module.exports} + for key, obj in members.items(): if obj.is_module or obj.module.name in pub_mod or key.startswith("_"): continue if not (obj.docstring or obj.is_class or obj.is_function): -- GitLab