
    g                    ~   % S r SSKJr  SSKJr  SSKJrJrJ	r	J
r
JrJrJrJr  SSKJrJrJr  SSKJr  SSKJr  SS	KJr  \(       a  SS
KJr  SSKJrJr  Sr\\ \!\"\#S\S   S4   r$S\%S'   \
\"\$4   r&S\%S'   \	\/\4   r'\\	\&/S4   \	\&\\   /S4   4   r(S\%S'   \S   r) " S S\SS9r*\" S\+S9r,SS jr-\" \.5      r/g)z"Configuration for Pydantic models.    )annotations)Pattern)TYPE_CHECKINGAnyCallableDictListTypeTypeVarUnion)Literal	TypeAlias	TypedDict   )getattr_migration)AliasGenerator)PydanticUserError)GenerateSchema)ComputedFieldInfo	FieldInfo)
ConfigDictwith_configN	JsonValueJsonDictr   JsonSchemaExtraCallable)allowignoreforbidc                     \ rS rSr% SrS\S'    S\S'    S\S'    S	\S
'    S	\S'    S	\S'    S\S'    S\S'    S\S'    S	\S'    S	\S'    S	\S'    S	\S'    S	\S'    S	\S'    S	\S'    S\S'    S\S'    S	\S'    S\S '    S!\S"'    S	\S#'    S$\S%'    S&\S''    S(\S)'    S(\S*'    S+\S,'    S	\S-'    S	\S.'    S/\S0'    S	\S1'    S	\S2'    S3\S4'    S5\S6'    S	\S7'    S8\S9'    S	\S:'    S;\S<'    S	\S='    S	\S>'    S?\S@'   SArgB)Cr   "   z/A TypedDict for configuring Pydantic behaviour.z
str | NonetitlezCallable[[type], str] | Nonemodel_title_generatorz:Callable[[str, FieldInfo | ComputedFieldInfo], str] | Nonefield_title_generatorboolstr_to_lowerstr_to_upperstr_strip_whitespaceintstr_min_lengthz
int | Nonestr_max_lengthzExtraValues | Noneextrafrozenpopulate_by_nameuse_enum_valuesvalidate_assignmentarbitrary_types_allowedfrom_attributesloc_by_aliasz,Callable[[str], str] | AliasGenerator | Nonealias_generatorztuple[type, ...]ignored_typesallow_inf_nanz)JsonDict | JsonSchemaExtraCallable | Nonejson_schema_extraz&dict[type[object], JsonEncoder] | Nonejson_encodersstrictz0Literal['always', 'never', 'subclass-instances']revalidate_instanceszLiteral['iso8601', 'float']ser_json_timedeltaz Literal['utf8', 'base64', 'hex']ser_json_bytesval_json_bytesz'Literal['null', 'constants', 'strings']ser_json_inf_nanvalidate_defaultvalidate_returnztuple[str | Pattern[str], ...]protected_namespaceshide_input_in_errorsdefer_buildzdict[str, object] | Noneplugin_settingsztype[_GenerateSchema] | Noneschema_generator+json_schema_serialization_defaults_requiredz,Literal['validation', 'serialization', None]json_schema_mode_overridecoerce_numbers_to_strz"Literal['rust-regex', 'python-re']regex_enginevalidation_error_causeuse_attribute_docstringsz%bool | Literal['all', 'keys', 'none']cache_strings N)__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__rL       H/home/matz/Project1/venv/lib/python3.13/site-packages/pydantic/config.pyr   r   "   s   9O77_UUe\\I??>@ L < $L 1f "!4l   MAA8t $# v@@Y99 L4 KJ|| 43 54 54 >= TY88[z )V  .-?22 265$L  LK4l  #J 54"H !  #"#J 98rT   r   F)total_TypeT)boundc                   ^  SU 4S jjnU$ )a  Usage docs: https://docs.pydantic.dev/2.10/concepts/config/#configuration-with-dataclass-from-the-standard-library-or-typeddict

A convenience decorator to set a [Pydantic configuration](config.md) on a `TypedDict` or a `dataclass` from the standard library.

Although the configuration can be set using the `__pydantic_config__` attribute, it does not play well with type checkers,
especially with `TypedDict`.

!!! example "Usage"

    ```python
    from typing_extensions import TypedDict

    from pydantic import ConfigDict, TypeAdapter, with_config

    @with_config(ConfigDict(str_to_lower=True))
    class Model(TypedDict):
        x: str

    ta = TypeAdapter(Model)

    print(ta.validate_python({'x': 'ABC'}))
    #> {'x': 'abc'}
    ```
c               l   > SSK Jn  U" U 5      (       a  [        SU R                   S3SS9eTU l        U $ )Nr   )is_model_classzCannot use `with_config` on z as it is a Pydantic modelzwith-config-on-model)code)_internal._utilsr[   r   rM   __pydantic_config__)class_r[   configs     rU   innerwith_config.<locals>.inner  sD     	5&!!#.v.??YZ+  &,"rT   )r_   rW   returnrW   rL   )r`   ra   s   ` rU   r   r     s    4 LrT   )r`   r   rc   zCallable[[_TypeT], _TypeT])0rQ   
__future__r   _annotationsrer   typingr   r   r   r   r	   r
   r   r   typing_extensionsr   r   r   
_migrationr   aliasesr   errorsr   _internal._generate_schemar   _GenerateSchemafieldsr   r   __all__r(   floatstrr$   r   rR   r   JsonEncoderr   ExtraValuesr   typerW   r   rM   __getattr__rL   rT   rU   <module>rv      s    ( 2  Q Q Q ; ; ) # %M4
' S%dD${:KZWX	9 X3	>*) *ucz"%*hZhS	"D()+&  
 12F% FR 
	&(V  )rT   