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 a class definition, closely mimicking sphinx-autodoc behaviour (except instance attributes defined inside __init__ function).

The main motivation for this project is undesirable integration of really heavy sphinx-autodoc dependency, also sphinx is usually used for development purposes. As opposite class-doc is light, serves a specific purpose and might be easily integrated in any project.

Installation

This package available on PyPI

pip install class-doc

Or using Poetry

poetry add 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."""


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."],
}

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.1.1.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

class_doc-0.1.1-py3-none-any.whl (4.2 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