Module

autodoc.models

Typed metadata models for autodoc system.

This package provides type-safe metadata dataclasses that replace the untypedmetadata: dict[str, Any]field on DocElement.

Usage:

from bengal.autodoc.models import PythonClassMetadata, DocMetadata

if isinstance(element.typed_metadata, PythonClassMetadata):
    bases = element.typed_metadata.bases  # Type-safe!

Architecture:

  • common.py: Shared types (SourceLocation, QualifiedName)
  • python.py: Python-specific metadata (module, class, function)
  • cli.py: CLI-specific metadata (command, group, option)
  • openapi.py: OpenAPI-specific metadata (endpoint, schema, overview)