Configuration

One major strength of autodoc_pydantic is that every feature is completely configurable to allow maximum customization. There are two ways to configure how pydantic objects are displayed:

  • conf.py: Globally define the default configuration via conf.py which takes effect for all pydantic objects like:

    autodoc_pydantic_model_show_json = True
    autodoc_pydantic_model_show_config = False
    
  • option: Locally define the specific configuration for individual directives. This overrides global configuration settings:

    .. autopydantic_model:: module.Model
       :model-show-json: True
       :model-show-config: False
    

BaseModel

Contains all modifications for pydantic BaseModel.

Show JSON

Show the json representation of a pydantic model within in the class doc string as a collapsable code block.

conf.py

autodoc_pydantic_model_show_json

option

model-show-json

Available values with rendered examples:

class target.configuration.ModelShowJson

ModelShowJson.

Show JSON schema
{
   "title": "ModelShowJson",
   "description": "ModelShowJson.",
   "type": "object",
   "properties": {}
}

Show Config Summary

Show model config summary within the class doc string.

conf.py

autodoc_pydantic_model_show_config_summary

option

model-show-config-summary

Available values with rendered examples:

class target.configuration.ModelShowConfigSummary

ModelShowConfigSummary.

Config
  • allow_mutation: bool = True

  • title: str = FooBar

Show Config Member

Show pydantic config class. It can be hidden if it is irrelevant.

conf.py

autodoc_pydantic_model_show_config_member

option

model-show-config-member

Available values with rendered examples:

class target.configuration.ModelShowConfigMember(*, field: int = 1)

ModelShowConfigMember.

class Config

Config.

allow_mutation = True
attribute field: int

Field.

Show Validator Summary

Show all validators along with corresponding fields within the class doc string. Hyperlinks are automatically created for validators and fields.

conf.py

autodoc_pydantic_model_show_validator_summary

option

model-show-validator-summary

Available values with rendered examples:

class target.configuration.ModelShowValidatorsSummary(*, field: int = 1)

ModelShowValidatorsSummary.

Validators
  • check » field

Show Validator Members

Show pydantic validator methods. They can be hidden if they are irrelevant.

conf.py

autodoc_pydantic_model_show_validator_members

option

model-show-validator-members

Available values with rendered examples:

class target.configuration.ModelShowValidatorMembers(*, field: int = 1)

ModelShowValidatorMembers.

classmethod dummy(v)str

Check.

attribute field: int

Field.

Show Undoc Members

Show undocumented members. By default, undocumented members are hidden for standard auto directives. For pydantic models, this is overwritten if enabled.

conf.py

autodoc_pydantic_model_undoc_members

option

undoc-members

Available values with rendered examples:

class target.configuration.ModelUndocMembers(*, field1: int = 5, field2: str = 'FooBar')

ModelUndocMembers.

attribute field1: int
attribute field2: str

Note

In order to show any members at all, you need to enable autodoc_pydantic_model_undoc_members or set :members:.

Show Members

Show members. By default, members are hidden for standard auto directives. For pydantic models, this is overwritten if enabled.

conf.py

autodoc_pydantic_model_members

option

members

Available values with rendered examples:

class target.configuration.ModelMembers(*, field1: int = 5, field2: str = 'FooBar')

ModelMembers.

attribute field1: int

Doc field 1

attribute field2: str

Doc field 2

Member Order

Order members groupwise by default in the following order: fields, validators and config.

conf.py

autodoc_pydantic_model_member_order

option

member-order

Available values with rendered examples:

class target.configuration.ModelMemberOrder(*, field: int = 1)

ModelMemberOrder.

attribute field: int

Field.

classmethod dummy(v)str

Check.

class Config

Config.

allow_mutation = True

Hide ParamList

Hide parameter list of class signature. It usually becomes rather overloaded once a lot fields are present. Additionally, it is redundant since fields are documented anyway.

conf.py

autodoc_pydantic_model_hide_paramlist

option

model-hide-paramlist

Available values with rendered examples:

class target.configuration.ModelHideParamList

ModelHideParamList.

Signature Prefix

Define the signature prefix for pydantic models.

conf.py

autodoc_pydantic_model_signature_prefix

option

model-signature-prefix

Available values with rendered examples:

pydantic model target.configuration.ModelSignaturePrefix

ModelSignaturePrefix.

BaseSettings

Contains all modifications for pydantic BaseSettings.

Show JSON

Show the json representation of a pydantic settings within in the class doc string as a collapsable code block.

conf.py

autodoc_pydantic_settings_show_json

option

settings-show-json

Available values with rendered examples:

class target.configuration.SettingsShowJson(_env_file: Optional[Union[pathlib.Path, str]] = '<object object>', _env_file_encoding: Optional[str] = None, _secrets_dir: Optional[Union[pathlib.Path, str]] = None)

SettingsShowJson.

Show JSON schema
{
   "title": "SettingsShowJson",
   "description": "SettingsShowJson.",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Show Config Summary

Show settings config summary within the class doc string.

conf.py

autodoc_pydantic_settings_show_config_summary

option

settings-show-config-summary

Available values with rendered examples:

class target.configuration.SettingsShowConfigSummary(_env_file: Optional[Union[pathlib.Path, str]] = '<object object>', _env_file_encoding: Optional[str] = None, _secrets_dir: Optional[Union[pathlib.Path, str]] = None)

SettingsShowConfigSummary.

Config
  • allow_mutation: bool = True

  • title: str = FooBar

Show Config Member

Show pydantic config class. It can be hidden if it is irrelevant.

conf.py

autodoc_pydantic_settings_show_config_member

option

settings-show-config-member

Available values with rendered examples:

class target.configuration.SettingsShowConfigMember(_env_file: Optional[Union[pathlib.Path, str]] = '<object object>', _env_file_encoding: Optional[str] = None, _secrets_dir: Optional[Union[pathlib.Path, str]] = None, *, field: int = 1)

SettingsShowConfigMember.

class Config

Config.

allow_mutation = True
attribute field: int

Field.

Show Validator Summary

Show all validators along with corresponding fields within the class doc string. Hyperlinks are automatically created for validators and fields.

conf.py

autodoc_pydantic_settings_show_validator_summary

option

settings-show-validator-summary

Available values with rendered examples:

class target.configuration.SettingsShowValidatorsSummary(_env_file: Optional[Union[pathlib.Path, str]] = '<object object>', _env_file_encoding: Optional[str] = None, _secrets_dir: Optional[Union[pathlib.Path, str]] = None, *, field: int = 1)

SettingsShowValidatorsSummary.

Validators
  • check » field

Show Validator Members

Show pydantic validator methods. They can be hidden if they are irrelevant.

conf.py

autodoc_pydantic_settings_show_validator_members

option

settings-show-validator-members

Available values with rendered examples:

class target.configuration.SettingsShowValidatorMembers(_env_file: Optional[Union[pathlib.Path, str]] = '<object object>', _env_file_encoding: Optional[str] = None, _secrets_dir: Optional[Union[pathlib.Path, str]] = None, *, field: int = 1)

SettingsShowValidatorMembers.

classmethod dummy(v)str

Check.

attribute field: int

Field.

Show Undoc Members

Show undocumented members. By default, undocumented members are hidden for standard auto directives. For pydantic settingss, this is overwritten if enabled.

conf.py

autodoc_pydantic_settings_undoc_members

option

undoc-members

Available values with rendered examples:

class target.configuration.SettingsUndocMembers(_env_file: Optional[Union[pathlib.Path, str]] = '<object object>', _env_file_encoding: Optional[str] = None, _secrets_dir: Optional[Union[pathlib.Path, str]] = None, *, field1: int = 5, field2: str = 'FooBar')

SettingsUndocMembers.

attribute field1: int
attribute field2: str

Note

In order to show any members at all, you need to enable autodoc_pydantic_settings_undoc_members or set :members:.

Show Members

Show members. By default, members are hidden for standard auto directives. For pydantic settingss, this is overwritten if enabled.

conf.py

autodoc_pydantic_settings_members

option

members

Available values with rendered examples:

class target.configuration.SettingsMembers(_env_file: Optional[Union[pathlib.Path, str]] = '<object object>', _env_file_encoding: Optional[str] = None, _secrets_dir: Optional[Union[pathlib.Path, str]] = None, *, field1: int = 5, field2: str = 'FooBar')

SettingsMembers.

attribute field1: int

Doc field 1

attribute field2: str

Doc field 2

Member Order

Order members groupwise by default in the following order: fields, validators and config.

conf.py

autodoc_pydantic_settings_member_order

option

member-order

Available values with rendered examples:

class target.configuration.SettingsMemberOrder(_env_file: Optional[Union[pathlib.Path, str]] = '<object object>', _env_file_encoding: Optional[str] = None, _secrets_dir: Optional[Union[pathlib.Path, str]] = None, *, field: int = 1)

SettingsMemberOrder.

attribute field: int

Field.

classmethod dummy(v)str

Check.

class Config

Config.

allow_mutation = True

Hide ParamList

Hide parameter list of class signature. It usually becomes rather overloaded once a lot fields are present. Additionally, it is redundant since fields are documented anyway.

conf.py

autodoc_pydantic_settings_hide_paramlist

option

settings-hide-paramlist

Available values with rendered examples:

class target.configuration.SettingsHideParamList

SettingsHideParamList.

Signature Prefix

Define the signature prefix for pydantic settings.

conf.py

autodoc_pydantic_settings_signature_prefix

option

settings-signature-prefix

Available values with rendered examples:

pydantic settings target.configuration.SettingsSignaturePrefix(_env_file: Optional[Union[pathlib.Path, str]] = '<object object>', _env_file_encoding: Optional[str] = None, _secrets_dir: Optional[Union[pathlib.Path, str]] = None)

SettingsSignaturePrefix.

Fields

List Validators

Show all corresponding validators that process the current field.

conf.py

autodoc_pydantic_field_list_validators

option

field-list-validators

Available values with rendered examples:

class target.configuration.FieldListValidators(*, field: int = 1)

FieldListValidators.

attribute field: int

Field.

Validated by
  • check

Docstring Policy

Define what content is displayed in the main field docstring. docstring shows the exact docstring of the python attribute. description displays the information provided via the pydantic field’s description. both will output the attribute’s docstring together with the pydantic field’s description.

conf.py

autodoc_pydantic_field_doc_policy

option

field-doc-policy

Available values with rendered examples:

class target.configuration.FieldDocPolicy(*, field: int = 1)

FieldDocPolicy.

attribute field: int

Field.

Show Constraints

Displays all constraints that are associated with the given pydantic field.

conf.py

autodoc_pydantic_field_show_constraints

option

field-show-constraints

Available values with rendered examples:

class target.configuration.FieldShowConstraints(*, field: target.configuration.ConstrainedIntValue = 1)

FieldShowConstraints.

attribute field: int

Field.

Constraints
  • minimum = 0

  • maximum = 100

Show Alias

Provides the pydantic field’s alias in the signature.

conf.py

autodoc_pydantic_field_show_alias

option

field-show-alias

Available values with rendered examples:

class target.configuration.FieldShowAlias(*, field2: int = 1)

FieldShowConstraints.

attribute field: int (alias 'field2')

Field.

Show Default Value

Provides the pydantic field’s default value in the signature. Unfortunately this is not provided by standard autodoc (as of version 3.5.4).

conf.py

autodoc_pydantic_field_show_default

option

field-show-default

Available values with rendered examples:

class target.configuration.FieldShowDefault(*, field: int = 1)

FieldShowDefault.

attribute field: int = 1

Field.

Signature Prefix

Define the signature prefix for pydantic field.

conf.py

autodoc_pydantic_field_signature_prefix

option

field-signature-prefix

Available values with rendered examples:

class target.configuration.FieldSignaturePrefix(*, field: int = 1)

FieldSignaturePrefix.

field field: int

Field.

Validators

Replace Signature

Replaces the validator signature with custom link to corresponding field.

conf.py

autodoc_pydantic_validator_replace_signature

option

validator-replace-signature

Available values with rendered examples:

class target.configuration.ValidatorReplaceSignature(*, field: int = 1)

ValidatorReplaceSignature.

classmethod check  »  field

Check.

attribute field: int

List Fields

List all fields that are validated by given method.

conf.py

autodoc_pydantic_validator_list_fields

option

validator-list-fields

Available values with rendered examples:

class target.configuration.ValidatorListFields(*, field: int = 1)

ValidatorListFields.

classmethod check(v)str

Check.

Validates
  • field

attribute field: int

Signature Prefix

Define the signature prefix for pydantic validator.

conf.py

autodoc_pydantic_validator_signature_prefix

option

validator-signature-prefix

Available values with rendered examples:

class target.configuration.ValidatorSignaturePrefix(*, field: int = 1)

ValidatorSignaturePrefix.

validator check(v)str

Check.

attribute field: int

Config Class

Show Members

Show members. By default, members are hidden for standard auto directives. For pydantic class config, this is overwritten if enabled.

conf.py

autodoc_pydantic_config_members

option

members

Available values with rendered examples:

class target.configuration.ConfigMembers

ConfigUndocMembers.

class Config
allow_mutation = True

Allow Mutation.

title = 'foobar'

Note

By default, all undocumented members are shown for the Config class. The directive option :undoc-members: is added automatically.

Signature Prefix

Define the signature prefix for config class.

conf.py

autodoc_pydantic_config_signature_prefix

option

config-signature-prefix

Available values with rendered examples:

model target.configuration.ConfigSignaturePrefix.Config

Config.