https://www.sphinx-doc.org/en/master/ Sphinx can parse your docstring in python code and generate beautiful documentation web pages. User can also write docuementation in rst or markdown format and generate web pages. Many Python packages are using Sphinx to build their docuemntation. For example, PyTorch builds its documentation with Sphinx. See0 https://github.com/pytorch/pytorch#building-the-documentation with [sphinx-rtd-theme](https://sphinx-rtd-theme.readthedocs.io/en/stable/). rtd means Read the Docs. ## Separate Source and Build ```bash pip install -U Sphinx pip install sphinx_rtd_theme sphinx-quickstart build-docs mkdir build-docs/source/docstring sphinx-apidoc -o ./build-docs/source/docstring ./project # add modules to index.rst sphinx-build -b html ./build-docs/source ./docs ``` ## Don't Separate Source and Build ```bash sphinx-quickstart project # choose not to separate source and build ``` Replace `html_theme = 'alabaster'` with `html_theme = "sphinx_rtd_theme"` Add extensions ```py extensions = [ 'myst_parser', 'sphinx.ext.autodoc' ] ```