o
    FÊÆh	  ã                   @  s<   d Z ddlmZ dZdZ	 ddd„Zdd	d
„Zddd„ZdS )z@The `version` module holds the version information for Pydantic.é    )Úannotations)ÚVERSIONÚversion_infoz2.5.0ÚreturnÚstrc                   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   ú]/var/www/html/HyperOracle/crypto_trader/venv/lib/python3.10/site-packages/pydantic/version.pyÚversion_short
   s   r   c            
   	   C  sÜ   ddl } ddl}ddlm} ddlm} |jdkr ddlm} nddl	}h d£}g }| 
¡ D ]}|jd }||v rD| |› d|j› �¡ q.t|jt|ddƒpP|j|tƒ ¡ j|j|   ¡ d	 |¡d
œ}	d dd„ |	 ¡ D ƒ¡S )zFReturn complete version information for Pydantic and its dependencies.r   N)ÚPath)é   é   >   úemail-validatorúpydantic-settingsúpydantic-extra-typesÚmypyÚfastapiÚpyrightÚtyping_extensionsÚNameú-Ú
build_infoú )zpydantic versionzpydantic-core versionzpydantic-core buildzinstall pathzpython versionÚplatformzrelated packagesÚ
c                 s  s0   � | ]\}}d   |d t|ƒ dd¡¡V  qdS )z	{:>30} {}ú:r   r   N)Úformatr   Úreplace)Ú.0ÚkÚvr   r   r   Ú	<genexpr>9   s   €. zversion_info.<locals>.<genexpr>)r   ÚsysÚpathlibr   Úpydantic_core._pydantic_coreÚ_pydantic_corer   Úimportlib.metadataÚmetadataÚimportlib_metadataÚdistributionsÚappendÚversionr   Ú__version__ÚgetattrÚbuild_profileÚ__file__ÚresolveÚparentr	   Úitems)
r   r%   r   Úpdcr+   Úpackage_namesÚrelated_packagesÚdistÚnameÚinfor   r   r   r      s.   
	
€ù	r   r.   útuple[int, ...]c                 C  s   t tt|  d¡d  d¡ƒƒS )a¨  Parse mypy string version to tuple of ints.

    This function is included here rather than the mypy plugin file because the mypy plugin file cannot be imported
    outside a mypy run.

    It parses normal version like `0.930` and dev version
    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_version<   s   rB   N)r   r   )r.   r   r   r<   )	Ú__doc__Ú
__future__r   Ú_annotationsÚ__all__r   r   r   rB   r   r   r   r   Ú<module>   s    

*