Sphinx extension to autodoc for apischema annotated classes/functions
Project description
Sphinx extension to autodoc for apischema annotated classes/functions
PyPI |
pip install sphinx-apischema |
Source code |
|
Documentation |
|
Changelog |
https://github.com/dls-controls/sphinx-apischema/blob/master/CHANGELOG.rst |
If you have a class that looks like this:
from dataclasses import dataclass
from apischema import schema
from typing_extensions import Annotated as A
@dataclass
class MyClass:
"""Holds some very useful information about an object.
We might use this in a registry of all the objects we have
"""
name: A[str, schema(description="The name of the object")]
age: A[float, schema(description="How old it is", min=0.0, max=1000.0)] = 5
def summary(
self,
hide_age: A[bool, schema(description="Be secretive about the true age")] = True,
) -> str:
"""Return a nicely formatted summary of the object"""
age = "***" if hide_age else self.age
return f"{self.name}: {age}"
Generates documenation that looks like this:
See https://dls-controls.github.io/sphinx-apischema for more detailed documentation.
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
sphinx-apischema-0.1.tar.gz
(5.9 kB
view hashes)
Built Distribution
Close
Hashes for sphinx_apischema-0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be8b057a38e585d00bec70c9a5ab6d133bb3d933e61c5aebadd15fc0c2129d7b |
|
MD5 | df33558ef857f98e2c48a870d2d59924 |
|
BLAKE2b-256 | 5566f35aa4939f6ff45fbf4e74aa67327decdfb4bb656dea09df27ba28817c41 |