Sphinx autodoc
Sphinx autodoc#
Problem:
You have added docstrings to a
*.py
file, and you want them included in this documentation.
Solution: Jupyterbook is a frontend to Sphinx. We simply have to tell Sphinx to autodoc our Python file. Happily sphinx autodoc is already installed by default.
(1) Extend the config-file _config.py
:
sphinx:
extra_extensions:
- sphinx.ext.autodoc
local_extensions:
add-dot-to-path : '.'
(2) Problem left over: How to tell Sphinx the location of the *.py
file? (We have to update the sys.path
variable. We assume for simplicity that the *.py
file resides in the .
(DOT) directory.)
Simply put the follwing trivial file add-dot-to-path.py
(yes, indeed only one line) to the .
(DOT) directory:
def setup(app): ...
This extension does nothing - but as a side effect this “will […] update the sys.path so the local extension can be found.” https://jupyterbook.org/advanced/sphinx.html#local-sphinx-extensions. For an explanation in detail see add-dot-to-path.py.
(3) To ask Sphinx do autodoc a module:
```{eval-rst}
.. automodule:: hello
:members:
```
Result: c.f. ar_autodoc.