Have Sphinx Recognize Imported Classes And Functions Instead Of Modules
Suppose I have a project with the following structure: mypackage ├── mypackage │ ├── __init__.py │ ├── someclass.py │ └── somefunction.py └─
Solution 1:
Use autoclass as described in the Sphinx documentation sphinx.ext.autodoc – Include documentation from docstrings.
In order for autoclass (and any other autodoc feature) to work, the module must be importable.
autodoc will document the API of your module, and you can add docstrings in reStructuredText format as narrative documentation to explain usage.
It's a good idea to have a docs directory next to your package directory.
mypackage
├── docs
│ ├── conf.py
│ ├── other sphinx stuff
│ └── index.rst
├── mypackage
│ ├── __init__.py
│ ├── someclass.py
│ └── somefunction.py
└── setup.py
Organize your .rst files within docs. Your module is an API, so you could organize your .rst files like so:
mypackage
├── docs
└── api
├── someclass.rst
└── somefunction.rst
In each of the files in the api directory, use the appropriate syntax.
.. autoclass:: someclass
.. autofunction:: somefunction
There's also several options covered in the aforementioned Sphinx documentation.
Post a Comment for "Have Sphinx Recognize Imported Classes And Functions Instead Of Modules"