o
    g'                     @   s4   d Z ddlZddlZddlmZ dd Zdd ZdS )aY  
Check the numpy version is valid.

Note that a development version is marked by the presence of 'dev0' or '+'
in the version string, all else is treated as a release. The version string
itself is set from the output of ``git describe`` which relies on tags.

Examples
--------

Valid Development: 1.22.0.dev0 1.22.0.dev0+5-g7999db4df2 1.22.0+5-g7999db4df2
Valid Release: 1.21.0.rc1, 1.21.0.b1, 1.21.0
Invalid: 1.22.0.dev, 1.22.0.dev0-5-g7999db4dfB, 1.21.0.d1, 1.21.a

Note that a release is determined by the version string, which in turn
is controlled by the result of the ``git describe`` command.
    N)assert_c                  C   sN   d} d}t jjrt| d t j}nt| | d t j}t|d ut j d S )Nz/^[0-9]+\.[0-9]+\.[0-9]+(a[0-9]|b[0-9]|rc[0-9]|)z (\.dev0|)(\+[0-9]*\.g[0-9a-f]+|)$)npversionreleaserematch__version__r   )version_pattern
dev_suffixres r   \/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/numpy/tests/test_numpy_version.pytest_valid_numpy_version   s   r   c                   C   sB   t jjrtt jt jjkd d S tt jdd t jjkd d S )Nz)short_version mismatch in release version+r   z-short_version mismatch in development version)r   r   r   r   r	   short_versionsplitr   r   r   r   test_short_version%   s   r   )__doc__r   numpyr   numpy.testingr   r   r   r   r   r   r   <module>   s    