Generate API documentation with quarto.
Project description
quartodoc
Generate python API documentation for quarto.
Install
pip install quartodoc
Or for the latest changes:
python3 -m pip install -e git+https://github.com/machow/quartodoc.git#egg=quartodoc
Basic use
from quartodoc import get_function, MdRenderer
# get function object ---
f_obj = get_function("quartodoc", "get_function")
# render ---
renderer = MdRenderer(header_level = 1)
print(
renderer.to_md(f_obj)
)
# get_function
`get_function(module: str, func_name: str, parser: str = 'numpy')`
Fetch a function.
## Parameters
| Name | Type | Description | Default |
|-------------|--------|----------------------------|-----------|
| `module` | str | A module name. | required |
| `func_name` | str | A function name. | required |
| `parser` | str | A docstring parser to use. | `'numpy'` |
## Examples
```python
>>> get_function("quartodoc", "get_function")
<Function('get_function', ...
```
How it works
quartodoc consists of two pieces:
- collection: using the library griffe to statically collect information about functions and classes in a program.
- docstring parsing: also handled by griffe, which breaks it into a tree structure.
- docstring rendering: use plum-dispatch on methods like MdRenderer.to_md to decide how to visit and render each piece of the tree (e.g. the examples section, a parameter, etc..).
Here is a quick example of how you can grab a function from griffe and walk through it.
from griffe.loader import GriffeLoader
from griffe.docstrings.parsers import Parser
griffe = GriffeLoader(docstring_parser = Parser("numpy"))
mod = griffe.load_module("quartodoc")
f_obj = mod._modules_collection["quartodoc.get_function"]
f_obj.name
'get_function'
docstring = f_obj.docstring.parsed
docstring
[<griffe.docstrings.dataclasses.DocstringSectionText at 0x105a2c310>,
<griffe.docstrings.dataclasses.DocstringSectionParameters at 0x10f7961f0>,
<griffe.docstrings.dataclasses.DocstringSectionExamples at 0x10f7965b0>]
Note that quartodoc’s MdRenderer can be called on any part of the parsed docstring.
from quartodoc import MdRenderer
renderer = MdRenderer()
print(
renderer.to_md(docstring[1])
)
| Name | Type | Description | Default |
|-------------|--------|----------------------------|-----------|
| `module` | str | A module name. | required |
| `func_name` | str | A function name. | required |
| `parser` | str | A docstring parser to use. | `'numpy'` |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
quartodoc-0.3.0.tar.gz
(133.5 kB
view details)
Built Distribution
File details
Details for the file quartodoc-0.3.0.tar.gz
.
File metadata
- Download URL: quartodoc-0.3.0.tar.gz
- Upload date:
- Size: 133.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa2bd988a938055a6e32d2e68a89b57993eeecb9134c7c011b9618bcc65f5ef9 |
|
MD5 | 80f16c28b2944ce72a3c5c44872f5ed1 |
|
BLAKE2b-256 | a7cdb7fdcfc6cbfb218af6498af8bb2cd76dd81d0b3bf5e8aeedba2b3f747fea |
File details
Details for the file quartodoc-0.3.0-py2.py3-none-any.whl
.
File metadata
- Download URL: quartodoc-0.3.0-py2.py3-none-any.whl
- Upload date:
- Size: 37.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f82e34d812cfd70ddf0b0e06d3d7790bd0ccb88618f082124cf8f5546d8cf25 |
|
MD5 | 9496e104f2c0d3d7e8f08ce0ecd1cd45 |
|
BLAKE2b-256 | 8ec63ecfdfc0262b8373ab7a131d43a4406b8fd8d3979de21721ea0ded7521e6 |