📝 A Python library package which bridges the gap between rich annotations and automatic documentation generation with configurable renderers and support for reusable fragments.
- 🔄 Docstring Generation: Generation of docstrings for modules, classes, functions, and methods via introspection with fine-grained control.
- 🧩 Fragment System: Reusable documentation snippets for consistent terminology across projects.
- 🏷️ Annotation Metadata: Extraction and inclusion of metadata from annotations into generated docstrings.
- 🔌 Extensible Architecture: Custom renderers, attribute visibility rules, and introspection limiters.
- 📖 Sphinx-Compatible Output: Render reStructuredText docstrings that work with Sphinx Autodoc out of the box.
- 🎨 Configurable Renderers: Ability to extend with other renderers as desired.
Via uv pip
command:
uv pip install dynadoc
Or, via pip
:
pip install dynadoc
Please see the examples directory.
Function Documentation:
import dynadoc
from typing import Annotated
@dynadoc.with_docstring( )
def process_api_data(
endpoint: Annotated[ str, dynadoc.Doc( "API endpoint URL to query" ) ],
timeout: Annotated[ float, dynadoc.Doc( "Request timeout in seconds" ) ] = 30.0,
) -> Annotated[ dict, dynadoc.Doc( "Processed API response data" ) ]:
''' Process data from API endpoint with configurable timeout. '''
return { }
Which will be turned into the following docstring on the function by the default renderer:
Process data from API endpoint with configurable timeout.
:argument endpoint: API endpoint URL to query
:type endpoint: str
:argument timeout: Request timeout in seconds
:type timeout: float
:returns: Processed API response data
:rtype: dict
Module Documentation:
Document all annotated attributes in current module:
import dynadoc
dynadoc.assign_module_docstring( __name__ )
python-absence (absence on PyPI)
🕳️ A Python library package which provides a sentinel for absent values - a falsey, immutable singleton that represents the absence of a value in contexts where
None
orFalse
may be valid values.python-accretive (accretive on PyPI)
🌌 A Python library package which provides accretive data structures - collections which can grow but never shrink.
python-classcore (classcore on PyPI)
🏭 A Python library package which provides foundational class factories and decorators for providing classes with attributes immutability and concealment and other custom behaviors.
python-falsifier (falsifier on PyPI)
🎭 A very simple Python library package which provides a base class for falsey objects - objects that evaluate to
False
in boolean contexts.python-frigid (frigid on PyPI)
🔒 A Python library package which provides immutable data structures - collections which cannot be modified after creation.
python-icecream-truck (icecream-truck on PyPI)
🍦 Flavorful Debugging - A Python library which enhances the powerful and well-known
icecream
package with flavored traces, configuration hierarchies, customized outputs, ready-made recipes, and more.python-mimeogram (mimeogram on PyPI)
📨 A command-line tool for exchanging collections of files with Large Language Models - bundle multiple files into a single clipboard-ready document while preserving directory structure and metadata... good for code reviews, project sharing, and LLM interactions.