Module

rendering.template_functions.autodoc

Autodoc template functions for API documentation.

Provides normalized access to DocElement metadata across all extractor types (Python, CLI, OpenAPI). Templates should use these functions instead of directly accessing element.metadata.

Functions:

  • get_params(element): Get normalized parameters list
  • get_return_info(element): Get normalized return type info
  • param_count(element): Count of parameters (excluding self/cls)
  • return_type(element): Return type string or 'None'

Functions

register
Register autodoc template functions with Jinja2 environment.
2 None
def register(env: Environment, site: Site) -> None

Register autodoc template functions with Jinja2 environment.

Parameters 2

Name Type Default Description
env Environment
site Site
get_params
Get normalized parameters for any DocElement with parameters. Returns a list of dicts with consist…
2 list[dict[str, Any]]
def get_params(element: DocElement, exclude_self: bool = True) -> list[dict[str, Any]]

Get normalized parameters for any DocElement with parameters.

Returns a list of dicts with consistent keys:

  • name: Parameter name
  • type: Type annotation (or None)
  • default: Default value (or None)
  • required: Whether required
  • description: Description text

Usage in templates:

{% for param in element | get_params %}
  {{ param.name }}: {{ param.type }}
{% endfor %}

Parameters 2

Name Type Default Description
element DocElement

DocElement (function, method, CLI command, OpenAPI endpoint)

exclude_self bool True

Exclude 'self' and 'cls' parameters (default True)

Returns

list[dict[str, Any]]

List of normalized parameter dicts

param_count
Get count of parameters for an element. Usage in templates: {{ element | param_count }} parameters
2 int
def param_count(element: DocElement, exclude_self: bool = True) -> int

Get count of parameters for an element.

Usage in templates:

{{ element | param_count }} parameters

Parameters 2

Name Type Default Description
element DocElement

DocElement with parameters

exclude_self bool True

Exclude 'self' and 'cls' (default True)

Returns

int

Number of parameters

return_type
Get return type string for an element. Usage in templates: Returns: {{ element | return_type }}
1 str
def return_type(element: DocElement) -> str

Get return type string for an element.

Usage in templates:

Returns: {{ element | return_type }}

Parameters 1

Name Type Default Description
element DocElement

DocElement (function, method, etc.)

Returns

str

Return type string or 'None' if not specified

get_return_info
Get normalized return info for an element. Returns a dict with: - type: Return type string (or…
1 dict[str, Any]
def get_return_info(element: DocElement) -> dict[str, Any]

Get normalized return info for an element.

Returns a dict with:

  • type: Return type string (or None)
  • description: Return description (or None)

Usage in templates:

{% set ret = element | get_return_info %}
{% if ret.type and ret.type != 'None' %}
  Returns: {{ ret.type }}
  {% if ret.description %} — {{ ret.description }}{% endif %}
{% endif %}

Parameters 1

Name Type Default Description
element DocElement

DocElement (function, method, etc.)

Returns

dict[str, Any]

Dict with 'type' and 'description' keys