Skip to main content

Extract attributes docstrings defined in various ways

Project description

Class doc

Small set of helpers aimed to extract class attributes documentation from the class definition. This stuff tries to mimic sphinx-autodoc behaviour as closely as possible (except instance attributes defined inside __init__ function).

The main advantage of this project over sphinx-autodoc is that it is lightweight single-purpose dependency, while autodoc just a small part of really heavy project.

Installation

This package is available on PyPI

pip install class-doc

Examples

Shamely stolen from sphinx-autodoc docs

class Foo:
    """Docstring for class Foo."""

    #: Doc comment for class attribute Foo.bar.
    #: It can have multiple lines.
    bar = 1

    flox = 1.5   #: Doc comment for Foo.flox. One line only.

    baz = 2
    """Docstring for class attribute Foo.baz."""
    
    baf = 3
    """
    Even
    multiline
    docstrings
    handled
    properly
    """



import class_doc
assert class_doc.extract_docs_from_cls_obj(Foo) == {
    "bar": ["Doc comment for class attribute Foo.bar.", "It can have multiple lines."],
    "flox": ["Doc comment for Foo.flox. One line only."],
    "baz": ["Docstring for class attribute Foo.baz."],
    "baf": ["Even", "multiline", "docstrings", "handled", "properly"]
}

Development setup

Project requires Poetry for development setup.

  • If you aren't have it already
pip install poetry
  • Install project dependencies
poetry install
  • Run tests
poetry run pytest .
  • Great, all works!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

class-doc-0.2.6.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

class_doc-0.2.6-py3-none-any.whl (4.7 kB view hashes)

Uploaded Python 3

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