Skip to content

bug: Non-exported submodules included in Modules table following "Auto-summary of members" #203

@ringohoffman

Description

@ringohoffman

Description of the bug

Following 7f9757d, other submodules of the package not exported via __all__ are being included in a Modules: section.

e.g. for:

foo/module2.py:

from foo import module1

__all__ = [
    "Bar",
]

class Bar:
    """Bars the bazes."""

module1 is getting included into a Modules table even though it is not exported.

To Reproduce

https://github.com/ringohoffman/mkdocstrings-python-minimum-reproducible-example/tree/main

git clone https://github.com/ringohoffman/mkdocstrings-python-minimum-reproducible-example
cd mkdocstrings-python-minimum-reproducible-example
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
mkdocs build
mkdocs serve

Then open the doc page for module2.

Full traceback

Screenshot 2024-11-11 at 15 13 26

Expected behavior

I only expect the modules to be included in the Modules section if they are exported via __all__.

Environment information

python -m mkdocstrings_handlers.python.debug  # | xclip -selection clipboard
- __System__: Linux-5.15.0-117-generic-x86_64-with-glibc2.31
- __Python__: cpython 3.10.15 (/home/matthew/.conda/envs/mkdocstrings/bin/python)
- __Environment variables__:
- __Installed packages__:
  - `mkdocs` v1.6.1
  - `mkdocstrings` v0.26.2
  - `mkdocstrings-python` v1.12.2
  - `griffe` v1.5.1

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions