autodoc_pydantic API Docs
Source
1from pydantic import BaseSettings, Field, validator
2
3
4class ExampleSettings(BaseSettings):
5 """Document your project settings very conveniently. Applies like wise
6 to pydantic models.
7
8 """
9
10 field_plain_with_validator: int = 100
11 """Show standard field with type annotation."""
12
13 field_plain = 100
14 """Show standard field without type annotation."""
15
16 field_with_validator_and_alias: str = Field("FooBar", alias="BarFoo", env="BarFoo")
17 """Shows corresponding validator with link/anchor."""
18
19 field_with_validator_and_alias_typeless = Field(
20 "FooBar", alias="BarFoo", env="BarFoo"
21 )
22 """Shows corresponding validator with link/anchor but without type annotation."""
23
24 field_with_constraints_and_description: int = Field(
25 default=5, ge=0, le=100, description="Shows constraints within doc string."
26 )
27
28 @validator("field_with_validator_and_alias", "field_plain_with_validator")
29 def check_max_length_ten(cls, v):
30 """Show corresponding field with link/anchor."""
31
32 if not len(v) < 10:
33 raise ValueError("No more than 10 characters allowed")
34
35 class Config:
36 env_prefix = "foo_"
37 allow_mutation = True
38
39 def method_without_sig(self) -> BaseSettings:
40 return BaseSettings()
Rendered
- pydantic settings pydantic_example.ExampleSettings[source]
Document your project settings very conveniently. Applies like wise to pydantic models.
Show JSON schema
{ "title": "ExampleSettings", "description": "Document your project settings very conveniently. Applies like wise\nto pydantic models.", "type": "object", "properties": { "field_plain_with_validator": { "title": "Field Plain With Validator", "default": 100, "env_names": "{'foo_field_plain_with_validator'}", "type": "integer" }, "BarFoo": { "title": "Barfoo", "default": "FooBar", "env": "BarFoo", "env_names": "{'barfoo'}", "type": "string" }, "field_with_constraints_and_description": { "title": "Field With Constraints And Description", "description": "Shows constraints within doc string.", "default": 5, "minimum": 0, "maximum": 100, "env_names": "{'foo_field_with_constraints_and_description'}", "type": "integer" }, "field_plain": { "title": "Field Plain", "default": 100, "env_names": "{'foo_field_plain'}", "type": "integer" } }, "additionalProperties": false }
- Config:
allow_mutation: bool = True
env_prefix: str = foo_
- Fields:
- Validators:
- field field_plain_with_validator: int = 100
Show standard field with type annotation.
- Validated by:
- field field_with_validator_and_alias: str = 'FooBar' (alias 'BarFoo')
Shows corresponding validator with link/anchor.
- Validated by:
- field field_with_validator_and_alias_typeless = 'FooBar' (alias 'BarFoo')
Shows corresponding validator with link/anchor but without type annotation.
- field field_with_constraints_and_description: int = 5
Shows constraints within doc string.
- Constraints:
minimum = 0
maximum = 100
- validator check_max_length_ten » field_plain_with_validator, field_with_validator_and_alias[source]
Show corresponding field with link/anchor.
- classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) Model
Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values
- copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) Model
Duplicate a model, optionally choose which fields to include, exclude and change.
- Parameters:
include – fields to include in new model
exclude – fields to exclude from new model, as with values this takes precedence over include
update – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data
deep – set to True to make a deep copy of the model
- Returns:
new model instance
- dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- classmethod from_orm(obj: Any) Model
- json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicode
Generate a JSON representation of the model, include and exclude arguments as per dict().
encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().
- classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) Model
- classmethod parse_obj(obj: Any) Model
- classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) Model
- classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') DictStrAny
- classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) unicode
- classmethod update_forward_refs(**localns: Any) None
Try to update ForwardRefs on fields based on this Model, globalns and localns.
- classmethod validate(value: Any) Model
- method_without_sig() BaseSettings [source]