Skip to content

autosummary ignores __all__ when it is empty #12463

Closed
@francois-rozet

Description

@francois-rozet

Describe the bug

With __all__ = [] in a module, autosummary takes everything as a member instead of nothing, even with autosummary_ignore_module_all = False. In addition, weird members like __builtins__, __file__ and __package__ are showed as members.

"""Dummy module"""

__all__ = []

def component():
    """Dummy component"""

    pass

image

How to Reproduce

I provide a minimal reproducing example in https://github.com/francois-rozet/sphinx-bug

git clone https://github.com/francois-rozet/sphinx-bug
cd sphinx-bug
pip install -e .
pip install sphinx
sphinx-build . html
open html/api/dummy.html

Environment Information

Platform:              linux; (Linux-6.5.0-0.deb12.4-amd64-x86_64-with-glibc2.38)
Python version:        3.9.18 | packaged by conda-forge | (main, Aug 30 2023, 03:49:32) 
[GCC 12.3.0])
Python implementation: CPython
Sphinx version:        7.3.7
Docutils version:      0.19
Jinja2 version:        3.1.2
Pygments version:      2.17.2

Sphinx extensions

extensions = [
    'sphinx.ext.autodoc',
    'sphinx.ext.autosummary',
]

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions