Skip to main content

Create documentation from python modules and other objects.

Project description

Create documentation from python modules and other objects.

Latest release 20260531: Some markup tweaks and a fix.

Short summary:

  • is_dunder: Test whether a name is a dunder name (__foo__).
  • module_doc: Fetch the docstrings from a module and assemble a MarkDown document.
  • obj_docstring: Return a docstring for obj which has been passed through stripped_dedent.

Module contents:

  • is_dunder(name): Test whether a name is a dunder name (__foo__).

  • module_doc(module, *, sort_key=<function <lambda> at 0x10c5913a0>, filter_key=<function <lambda> at 0x10c591a80>, method_names=None): Fetch the docstrings from a module and assemble a MarkDown document.

    Parameters:

    • module: the module or module name to inspect
    • sort_key: optional key for sorting names in the documentation; default: name
    • filter_key`: optional test for a key used to select or reject keys to appear in the documentation
    • method_names: optional list of method names to document; the default is to document __init__, then CONSTANTS, the dunders, then other public names
  • obj_docstring(obj): Return a docstring for obj which has been passed through stripped_dedent.

    This function uses obj.__doc__ if it is not None, otherwise getcomments(obj) if that is not None, otherwise ''. The chosen string is passed through stripped_dedent before return.

Release Log

Release 20260531: Some markup tweaks and a fix.

Release 20250426:

  • module_doc: new doc_item inner function to format an item, now using a list instead of a heading - more compact and readable.
  • module_doc: restore mangled command usage.
  • module_doc: provide a short summary of every module top level name before the full docs.

Release 20241007:

  • module_doc: for subclasses of cs.fsm.FSM embed an SVG state transition diagram.
  • module_doc: put HTML named anchors on the headings.
  • module_doc: use BaseCommand.extract_usage() with BaseCOmmand subclasses.

Release 20240709: module_doc: do not insert a BaseCommand usage into the docs, the BaseCommand.init_subclass will be doing that for us.

Release 20240630.1: module_doc: build the usage message from an instance of the baseCommand, needed since the last cs.cmdutils release.

Release 20240630: module_doc: insert the class usage message for subclasses of BaseCommand.

Release 20240422: module_doc: only list things in all if provided.

Release 20240412: module_doc: classes: MRO: suppress classes which are not immediate superclasses.

Release 20220311: module_doc: class members no longer rendered as headings, too verbose.

Release 20210306: Drop noise leaked into output.

Release 20210123:

  • module_doc: include properties/descriptors.
  • DISTINFO: this is not Python 2 compatible, drop tag.

Release 20200718:

  • New is_dunder(name) function to test whether name is a dunder name.
  • module_doc: new method_names parameter to report only specific attributes from a class - default is all public names and most dunder methods - things without docs are not reported.
  • Assorted small changes.

Release 20200521: Initial PyPI release.

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

cs_py_doc-20260531.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cs_py_doc-20260531-py2.py3-none-any.whl (5.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file cs_py_doc-20260531.tar.gz.

File metadata

  • Download URL: cs_py_doc-20260531.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for cs_py_doc-20260531.tar.gz
Algorithm Hash digest
SHA256 866f80ad499b61c8deb35606c2036e8b7b9d30b5d9c765fd198c961508482223
MD5 d6d63a531798d51f5bffead67f24a24b
BLAKE2b-256 872decb0892cb61b6bd92a277a2a50af683e1c2e00f5fb408dfa380604c9628c

See more details on using hashes here.

File details

Details for the file cs_py_doc-20260531-py2.py3-none-any.whl.

File metadata

  • Download URL: cs_py_doc-20260531-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for cs_py_doc-20260531-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 be6f3c937a58fa2a9e30d4820b967ccb0a954abebaaa3a981eaae0fae0f0799f
MD5 a29c3d33961763d225206f6e69eba611
BLAKE2b-256 f39694d118d754fb07c74469b751f14623a33a9c4c9e857ba1b24ea18f62b425

See more details on using hashes here.

Supported by

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