U
    ={f	                     @  sH   d Z ddlmZ dZdZddddZddd	d
ZdddddZdS )z@The `version` module holds the version information for Pydantic.    )annotations)VERSIONversion_infoz2.7.4str)returnc                   C  s   d tddd S )zmReturn the `major.minor` part of Pydantic version.

    It returns '2.1' if Pydantic version is '2.1.1'.
    .N   )joinr   split r   r   O/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/pydantic/version.pyversion_short
   s    r   c               	   C  s$  ddl m}  ddl}ddl}ddl}ddlm} ddlm} ddl	m
} dddd	d
ddh}g }|  D ],}	|	jd }
|
|krf||
 d|	j  qf|j|j|jt}||r| r||nd}t|jt|ddp|j|t j|j| d||d}ddd | D S )zFReturn complete version information for Pydantic and its dependencies.r   N)Path   )_gitzemail-validatorZfastapiZmypyzpydantic-extra-typeszpydantic-settingsZpyrightZtyping_extensionsName-unknownZ
build_info )zpydantic versionzpydantic-core versionzpydantic-core buildzinstall pathzpython versionplatformzrelated packagescommit
c                 s  s.   | ]&\}}d  |d t|ddV  qdS )z	{:>30} {}:r   r   N)formatr   replace).0kvr   r   r   	<genexpr>>   s     zversion_info.<locals>.<genexpr>)importlib.metadatametadataosr   syspathlibr   Zpydantic_core._pydantic_coreZ_pydantic_core	_internalr   distributionsappendversionpathabspathdirname__file__Zis_git_repoZhave_gitZgit_revisionr   __version__getattrZbuild_profileresolveparentr	   items)importlib_metadatar!   r   r"   r   ZpdcgitZpackage_namesZrelated_packagesdistnameZpydantic_dirZmost_recent_commitinfor   r   r   r      sB    	

r   ztuple[int, ...])r'   r   c                 C  s   t tt| dd dS )a1  Parse mypy string version to tuple of ints.

    It parses normal version like `0.930` and extra info followed by a `+` sign
    like `0.940+dev.04cac4b5d911c4f9529e6ce86a27b44f28846f5d.dirty`.

    Args:
        version: The mypy version string.

    Returns:
        A tuple of ints. e.g. (0, 930).
    +r   r   )tuplemapint	partitionr
   )r'   r   r   r   parse_mypy_versionA   s    r;   N)	__doc__
__future__r   Z_annotations__all__r   r   r   r;   r   r   r   r   <module>   s   /