
     h                    J    d Z ddlmZ ddlmZ dZdZ	 ddZ	ddZ
ddZdd	Zy
)z@The `version` module holds the version information for Pydantic.    )annotations)__version__)VERSIONversion_infoz2.11.3c                 P    dj                  t        j                  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     ^/var/www/dev.core.comfenalco.cic-ware.com/crm/lib/python3.12/site-packages/pydantic/version.pyversion_shortr      s#    
 88GMM#&r*++r   c            	     4   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
} h d}g }| j                         D ]6  }	|	j                  d   }
|
|v s|j                  |
 d|	j                          8 |j                  j                  |j                  j!                  |j                  j!                  t"                          }|j%                  |      r!|j'                         r|j)                  |      nd	}t*        |j,                  t/        |d
d      xs |j0                   |t"              j3                         j4                  |j                  |j                         dj7                  |      |d}dj7                  d |j9                         D              S )zFReturn complete version information for Pydantic and its dependencies.r   N)Path   )_git>   email-validatorpydantic-settingspydantic-extra-typesmypyfastapipyrighttyping_extensionsName-unknown
build_info )zpydantic versionzpydantic-core versionzpydantic-core buildzinstall pathzpython versionplatformzrelated packagescommit
c              3  ~   K   | ]5  \  }}d j                  |dz   t        |      j                  dd             7 yw)z	{:>30} {}:r"   r   N)formatstrreplace).0kvs      r   	<genexpr>zversion_info.<locals>.<genexpr>A   s7     ePTPQST[''CQc1JKes   ;=)importlib.metadatametadataosr    syspathlibr   pydantic_core._pydantic_core_pydantic_core	_internalr   distributionsappendversionpathabspathdirname__file__is_git_repohave_gitgit_revisionr   r   getattrbuild_profileresolveparentr
   items)importlib_metadatar.   r    r/   r   pdcgitpackage_namesrelated_packagesdistnamepydantic_dirmost_recent_commitinfos                 r   r   r      sL   3.&M "002 >}}V$= ##tfAdll^$<=>
 77??277??277??83L#MNL*-//,*GCLLN&`i 
 $!$&sL$?T3CTCTX..077++%%'HH%56$	D 99eX\XbXbXdeeer   c                     t         dk(  S )zBCheck that the installed `pydantic-core` dependency is compatible.z2.33.1)__pydantic_core_version__r   r   r   check_pydantic_core_versionrO   D   s     %00r   c                v    t        t        t        | j                  d      d   j	                  d                  S )a>  Parse `mypy` string version to a 3-tuple of ints.

    It parses normal version like `1.11.0` and extra info followed by a `+` sign
    like `1.11.0+dev.d6d9d8cd4f27c52edac1f537e236ec48a01e54cb.dirty`.

    Args:
        version: The mypy version string.

    Returns:
        A triple of ints, e.g. `(1, 11, 0)`.
    +r   r   )tuplemapint	partitionr   )r6   s    r   parse_mypy_versionrV   J   s1     S'++C0399#>?@@r   N)returnr&   )rW   bool)r6   r&   rW   ztuple[int, int, int])__doc__
__future__r   _annotationspydantic_corer   rN   __all__r   r   r   rO   rV   r   r   r   <module>r^      s2    F 2 B
#
 ,,f^1Ar   