Skip to main content
Glama

API Docs MCP Server

dataclasses.cpython-310.pyc11.3 kB
o �I�gW?� @sVdZddlmZddlZddlZddlZddlmZm Z m Z m Z m Z m Z mZmZddlmZddlmZmZddlmZmZmZmZdd lmZdd lmZdd lmZdd l m!Z!dd l"m#Z#m$Z$m%Z%errddl&m'Z'ddl(m)Z)dZ*ed�Z+ej,dkr�eej-e#e%fd�eddddddddddd� dKd(d)���Z.eej-e#e%fd�eddddddddddd� dLd-d)���Z.n4eej-e#e%fd�eddddddddd.�dMd/d)���Z.eej-e#e%fd�eddddddddd.�dNd0d)���Z.eej-e#e%fd� dOddddddddddd� dPd3d)��Z.ee/�Z0ej,d4k�rdQd9d:�Z1e1ej2_3ddd;dd<�dRdDdE�Z4dSdIdJ�Z5dS)Tz7Provide an enhanced dataclass that performs validation.�)� annotationsN)� TYPE_CHECKING�Any�Callable�Generic�Literal�NoReturn�TypeVar�overload)�warn)� TypeGuard�dataclass_transform�)�_config� _decorators�_namespace_utils� _typing_extra)� _dataclasses)�getattr_migration)� ConfigDict)�PydanticUserError)�Field� FieldInfo� PrivateAttr)�PydanticDataclass)�MappingNamespace)� dataclass�rebuild_dataclass�_T��� )Zfield_specifiersFT.� �init�repr�eq�order� unsafe_hash�frozen�config�validate_on_init�kw_only�slotsr#�Literal[False]r$�boolr%r&r'r(r)� ConfigDict | type[object] | Noner*� bool | Noner+r,�return�-Callable[[type[_T]], type[PydanticDataclass]]c C�dS�N�r"r5r5�bC:\Users\apqls\Documents\Github\tkbase\api-docs-mcp\venv\Lib\site-packages\pydantic/dataclasses.pyr�r�_cls�type[_T]�type[PydanticDataclass]c Cr3r4r5) r8r#r$r%r&r'r(r)r*r+r,r5r5r6r/r7�r#r$r%r&r'r(r)r*cCr3r4r5r;r5r5r6rB� c Cr3r4r5) r8r#r$r%r&r'r(r)r*r5r5r6rQr<�type[_T] | None�GCallable[[type[_T]], type[PydanticDataclass]] | type[PydanticDataclass]c st|dusJd��|dusJd��tjdkr| | d��ni�dd d ��d��������fd d� } |dur6| S| |�S)a�!!! abstract "Usage Documentation" [`dataclasses`](../concepts/dataclasses.md) A decorator used to create a Pydantic-enhanced dataclass, similar to the standard Python `dataclass`, but with added validation. This function should be used similarly to `dataclasses.dataclass`. Args: _cls: The target `dataclass`. init: Included for signature compatibility with `dataclasses.dataclass`, and is passed through to `dataclasses.dataclass` when appropriate. If specified, must be set to `False`, as pydantic inserts its own `__init__` function. repr: A boolean indicating whether to include the field in the `__repr__` output. eq: Determines if a `__eq__` method should be generated for the class. order: Determines if comparison magic methods should be generated, such as `__lt__`, but not `__eq__`. unsafe_hash: Determines if a `__hash__` method should be included in the class, as in `dataclasses.dataclass`. frozen: Determines if the generated class should be a 'frozen' `dataclass`, which does not allow its attributes to be modified after it has been initialized. If not set, the value from the provided `config` argument will be used (and will default to `False` otherwise). config: The Pydantic config to use for the `dataclass`. validate_on_init: A deprecated parameter included for backwards compatibility; in V2, all Pydantic dataclasses are validated on init. kw_only: Determines if `__init__` method parameters must be specified by keyword only. Defaults to `False`. slots: Determines if the generated class should be a 'slots' `dataclass`, which does not allow the addition of new attributes after instantiation. Returns: A decorator that accepts a class as its argument and returns a Pydantic `dataclass`. Raises: AssertionError: Raised if `init` is not `False` or `validate_on_init` is `False`. Fz7pydantic.dataclasses.dataclass only supports init=Falsez-validate_on_init=False is no longer supportedr)r+r,�cls� type[Any]r1�Nonec Ss�|jD]Q}t|di�}|D]F}t||d�}t|t�sq d|i}tjdkr+|jr+d|d<|jdur5|j|d<t||t j di|���|j � d�durLi|_ |||j |<q qdS) aMake sure that stdlib `dataclasses` understands `Field` kwargs like `kw_only` To do that, we simply change `x: int = pydantic.Field(..., kw_only=True)` into `x: int = dataclasses.field(default=pydantic.Field(..., kw_only=True), kw_only=True)` �__annotations__N�defaultrTr+r$r5)�__mro__�getattr� isinstancer�sys� version_infor+r$�setattr� dataclasses�field�__dict__�getrB)r?Zannotation_clsr� field_nameZ field_valueZ field_argsr5r5r6�make_pydantic_fields_compatible�s"      ��z2dataclass.<locals>.make_pydantic_fields_compatibler:c s~ddlm}||�rtd|j�d�dd��|}tdd�|jD��}|s8�d ur8t|d �r8td |j�d �td d��d ur>�nt |d d �}t � |�}t j �|�}|j}t�|�rrd }|f}t|t�rkt|j} || f}t�|j|�}�|��d ur��} |jr�td|j�d�td d�n|jp�d} tj|fd����| d����}d|_||_||_|j|_|j|_d|_tj||dd�|S)z�Create a Pydantic dataclass from a regular dataclass. Args: cls: The class to create the Pydantic dataclass from. Returns: A Pydantic dataclass. r)�is_model_classz(Cannot create a Pydantic dataclass from z" as it is already a Pydantic modelzdataclass-on-model)�codecss�|]}t�|�VqdSr4)rJ� is_dataclass)�.0�baser5r5r6� <genexpr>�s�z6dataclass.<locals>.create_dataclass.<locals>.<genexpr>N�__pydantic_config__z[`config` is set via both the `dataclass` decorator and `__pydantic_config__` for dataclass zK. The `config` specification from `dataclass` decorator will take priority.�)�category� stacklevelzN`frozen` is set via both the `dataclass` decorator and `config` for dataclass zW.This is not recommended. The `frozen` specification on `dataclass` will take priority.FT)r#r$r%r&r'r()� raise_errors) Z_internal._utilsrPr�__name__�any� __bases__�hasattrr � UserWarningrEr� ConfigWrapperrZDecoratorInfos�build�__doc__�_pydantic_dataclassesZis_builtin_dataclass� issubclassr�__parameters__�types� new_classr(rJr�__is_pydantic_dataclass__Z__pydantic_decorators__� __module__� __qualname__�__pydantic_complete__�complete_dataclass) r?rPZ original_clsZhas_dataclass_baseZ config_dictZconfig_wrapperZ decoratorsZ original_doc�basesZ generic_baseZfrozen_�r)r%r(�kwargsrOr&r$r'r5r6�create_dataclass�sp  � �       �� �� �z#dataclass.<locals>.create_dataclassN)r?r@r1rA)r?r@r1r:)rGrH) r8r#r$r%r&r'r(r)r*r+r,rpr5rnr6ras/   !a)r � �argsrrorcOstd��)a9This function does nothing but raise an error that is as similar as possible to what you'd get if you were to try calling `InitVar[int]()` without this monkeypatch. The whole purpose is just to ensure typing._type_check does not error if the type hint evaluates to `InitVar[<parameter>]`. z 'InitVar' object is not callableN)� TypeError)rrror5r5r6� _call_initvar#srtrW)�forcerZ�_parent_namespace_depth�_types_namespacer?rurZrv�intrw�MappingNamespace | NonecCs�|s|jrdSdD] }||jvrt||�q d|_|dur |}n|dkr.tj|dd�p,i}ni}tj|d�}tj|t j |j dd�||dd �S) axTry to rebuild the pydantic-core schema for the dataclass. This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails. This is analogous to `BaseModel.model_rebuild`. Args: cls: The class to rebuild the pydantic-core schema for. force: Whether to force the rebuilding of the schema, defaults to `False`. raise_errors: Whether to raise errors, defaults to `True`. _parent_namespace_depth: The depth level of the parent namespace, defaults to 2. _types_namespace: The types namespace, defaults to `None`. Returns: Returns `None` if the schema is already "complete" and rebuilding was not required. If rebuilding _was_ required, returns `True` if rebuilding was successful, otherwise `False`. N)Z__pydantic_core_schema__Z__pydantic_validator__Z__pydantic_serializer__FrT)Z parent_depthru)Zparent_namespace)�check)rZ� ns_resolverZ _force_build) rkrL�delattrrZparent_frame_namespacerZ NsResolverrcrlrr`rV)r?rurZrvrw�attrZ rebuild_nsr{r5r5r6r-s,   ���r�class_r@�"TypeGuard[type[PydanticDataclass]]cCs,z d|jvo t�|�WStyYdSw)z�Whether a class is a pydantic dataclass. Args: class_: The class. Returns: `True` if the class is a pydantic dataclass, `False` otherwise. rhFN)rLrJrR�AttributeError)r~r5r5r6�is_pydantic_dataclassjs   �r�)r#r-r$r.r%r.r&r.r'r.r(r.r)r/r*r0r+r.r,r.r1r2)r8r9r#r-r$r.r%r.r&r.r'r.r(r0r)r/r*r0r+r.r,r.r1r:)r#r-r$r.r%r.r&r.r'r.r(r0r)r/r*r0r1r2)r8r9r#r-r$r.r%r.r&r.r'r.r(r0r)r/r*r0r1r:r4)r8r=r#r-r$r.r%r.r&r.r'r.r(r0r)r/r*r0r+r.r,r.r1r>)rrrrorr1r) r?r:rur.rZr.rvrxrwryr1r0)r~r@r1r)6rb� __future__rZ _annotationsrJrGrf�typingrrrrrrr r �warningsr Ztyping_extensionsr r � _internalrrrrrrcZ _migrationrr)r�errorsr�fieldsrrrZ_internal._dataclassesrZ_internal._namespace_utilsr�__all__rrHrKrr[� __getattr__rt�InitVar�__call__rr�r5r5r5r6�<module>s� (        ��� ���<  �=

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShotaNagafuchi/api-docs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server