{% if title %}
# {{ title }}
{% endif %}
{% for object in objects %}
### {{ object.name }}
{% if object.docstring %}
{{ object.docstring }}
{% endif %}
{%- for attribute in object.attributes %}
- <details>
<summary>{% if attribute.required %}__{{ attribute.name }}__{% else %}{{ attribute.name }}{% endif %}</summary>
- Type: {% for dtype in attribute.dtypes -%} {{dtype}}{% if not loop.last %}, {% endif %}{% endfor %}{%- if attribute.multiple %}[]{% endif -%}
{%- if attribute.term %}
- Term: {{ attribute.term }}
{%- endif %}
{%- if attribute.default is defined and attribute.default is not none %}
- Default: {% if attribute.default is string %}{{ trim(attribute.default, '"') }}{% else %}{{ attribute.default }}{% endif %}
{%- endif %}
{%- for option in attribute.options %}
- {{ option.key }}: {{ option.value }}
{%- endfor %}
</details>
{%- endfor %}
{% endfor %}
{%- if enums | length > 0 %}
## Enumerations
{% endif %}
{%- for enum in enums %}
### {{ enum.name }}
{% if enum.docstring %}
{{ enum.docstring }}
{% endif %}
```
{%- for key, value in enum.mappings | dictsort %}
{{ key }} = {{ value }}
{%- endfor %}
```
{% endfor %}