Skip to main content

Sphinx extension to autodoc for apischema annotated classes/functions

Project description

Code CI Docs CI Test Coverage Latest PyPI version Apache License

Sphinx extension to autodoc for apischema annotated classes/functions

PyPI

pip install sphinx-apischema

Source code

https://github.com/dls-controls/sphinx-apischema

Documentation

https://dls-controls.github.io/sphinx-apischema

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:

MyClass

See https://dls-controls.github.io/sphinx-apischema for more detailed documentation.

Project details


Release history Release notifications | RSS feed

This version

0.1

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 details)

Uploaded Source

Built Distribution

sphinx_apischema-0.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file sphinx-apischema-0.1.tar.gz.

File metadata

  • Download URL: sphinx-apischema-0.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for sphinx-apischema-0.1.tar.gz
Algorithm Hash digest
SHA256 9e5d6c3f407fdd1c6b60b3769a5a5265265e0a542dd021f0f7e526cfa3df45e2
MD5 4051778c199ac5171fec0035f961d9ed
BLAKE2b-256 423922f2a873715c5aac40ae74225c6cce6a7dc2352966746295772e7d714480

See more details on using hashes here.

File details

Details for the file sphinx_apischema-0.1-py3-none-any.whl.

File metadata

  • Download URL: sphinx_apischema-0.1-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for sphinx_apischema-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be8b057a38e585d00bec70c9a5ab6d133bb3d933e61c5aebadd15fc0c2129d7b
MD5 df33558ef857f98e2c48a870d2d59924
BLAKE2b-256 5566f35aa4939f6ff45fbf4e74aa67327decdfb4bb656dea09df27ba28817c41

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page