{%- if title %}
# {{ title }}
{%- endif %}
{% for object in objects %}
### {{ object.name }}
{% if object.docstring %}
{{ wrap(object.docstring, 70, "", "", None) }}
{% endif %}
{%- for attribute in object.attributes %}
- {% if attribute.required %}__{{ attribute.name }}__{% else %}{{ attribute.name }}{% endif %}
- 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.docstring %}
- Description: {{ wrap(attribute.docstring, 60, "", " ", None) }}
{%- 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 -%}
{%- endfor %}
{% endfor %}
{%- if enums | length > 0 %}
## Enumerations
{% endif %}
{%- for enum in enums %}
### {{ enum.name }}
{% if enum.docstring %}
{{ wrap(enum.docstring, 70, "", "", None) }}
{% endif %}
```
{%- for key, value in enum.mappings | dictsort %}
{{ key }} = {{ value }}
{%- endfor %}
```
{% endfor %}