o
    b                     @  s  d Z ddlmZ ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
 dd	l	mZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! erddlm"Z" ddl#m$Z% dddZ&dNd#d$Z'	dOdPd+d,Z(dQd/d0Z)dRd2d3Z*d4eedddeddd4ddddd5d6fdSdIdJZ+dTdKdLZ,g dMZ-dS )Uz;
:copyright: 2010-2015 by Ronny Pfannschmidt
:license: MIT
    )annotationsN)Any)Callable)TYPE_CHECKING   )_call_entrypoint_fn)_version_from_entrypoints)_read_pretended_version_for)PRETEND_KEY)PRETEND_KEY_NAMED)_version_as_tuple)NonNormalizedVersion)Version)Configuration)DEFAULT_LOCAL_SCHEME)DEFAULT_TAG_REGEX)DEFAULT_VERSION_SCHEME)iter_matching_entrypoints)function_has_arg)trace)format_version)meta)
ScmVersion)NoReturn)_typesz# coding: utf-8
# file generated by setuptools_scm
# don't change, don't track in version control
__version__ = version = {version!r}
__version_tuple__ = version_tuple = {version_tuple!r}
z	{version})z.pyz.txtroot_t.PathTreturnScmVersion | Nonec                 C  s"   t jdtdd t| d}t|S )Nz5version_from_scm is deprecated please use get_version   )category
stacklevel)r   )warningswarnDeprecationWarningr   r   )r   config r&   ;usr/lib/python3.10/site-packages/setuptools_scm/__init__.pyversion_from_scm1   s   
r(   versionstrwrite_totemplate
str | NoneNonec                 C  s   t |tsJ tjtj| |}tj|d }|p t|}|d u r3t	d
tj|d |t|}t|d}||j
||d W d    d S 1 sRw   Y  d S )Nr   z@bad file format: '{}' (of {}) 
only *.txt and *.py are supportedw)r)   version_tuple)
isinstancer*   ospathnormpathjoinsplitext	TEMPLATESget
ValueErrorformatr   openwrite)r   r)   r+   r,   targetextr0   fpr&   r&   r'   dump_version;   s   "r@   r%   r   c                 C  s   t | }|d ur
|S | jr7t| j| | j}t|tr"tdtd|r/t|ts+J |}|S t| dd}|S t| p@t| dd}|S )Nzversion parse result was z
please return a parsed versionT)fallback)	r	   parser   absolute_rootr1   r*   	TypeErrorr   r   )r%   	pretendedparse_resultr)   r&   r&   r'   	_do_parseR   s&   

	
rG   r   c                 C  s   t d| j d)Nz0setuptools-scm was unable to detect version for aw  .

Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.

For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj)LookupErrorrC   )r%   r&   r&   r'   _version_missingl   s   rI   .TFversion_scheme!Callable[[ScmVersion], str] | strlocal_scheme_t.PathT | Nonewrite_to_templaterelative_to	tag_regexparentdir_prefix_versionfallback_versionfallback_rootrB   
Any | Nonegit_describe_command	dist_nameversion_cls	normalizeboolsearch_parent_directoriesc                 C  s,   t di t }t|}|du rt| |S )a  
    If supplied, relative_to should be a file from which root may
    be resolved. Typically called by a script or module that is not
    in the root of the repository to direct setuptools_scm to the
    root of the repository by supplying ``__file__``.
    Nr&   )r   locals_get_versionrI   )r   rK   rM   r+   rO   rP   rQ   rR   rS   rT   rB   rV   rW   rX   rY   r[   r%   maybe_versionr&   r&   r'   get_versiony   s
   r_   c                 C  sJ   t | }|d u r
d S t|| j| jd}| jd ur#t| j|| j| jd |S )N)rK   rM   )r   r)   r+   r,   )rG   r   rK   rM   r+   r@   r   rO   )r%   parsed_versionversion_stringr&   r&   r'   r]      s    
r]   )r_   r@   r(   r   r   r   r   r
   r   r   r   r   r   r   r   r   )r   r   r   r   )N)
r   r   r)   r*   r+   r   r,   r-   r   r.   )r%   r   r   r   )r%   r   r   r   )"r   r*   rK   rL   rM   rL   r+   rN   rO   r-   rP   r-   rQ   r*   rR   r-   rS   r-   rT   r   rB   rU   rV   rU   rW   r-   rX   rU   rY   rZ   r[   rZ   r   r*   )r%   r   r   r-   ).__doc__
__future__r   r2   r"   typingr   r   r   _entrypointsr   r   
_overridesr	   r
   r   _version_clsr   r   r   r%   r   r   r   r   discoverr   utilsr   r   r)   r   r   r   r    r   Z_tr7   r(   r@   rG   rI   r_   r]   __all__r&   r&   r&   r'   <module>   sn    



 