K i6dZddlZddlZddlmZdZdZdZy)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_cd}d}tj||zdztj}t |dutjy)Nz/^[0-9]+\.[0-9]+\.[0-9]+(a[0-9]|b[0-9]|rc[0-9])?z'(\.dev[0-9]+(\+git[0-9]+\.[0-9a-f]+)?)?$)rematchnp __version__r)version_pattern dev_suffixress d/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/tests/test_numpy_version.pytest_valid_numpy_versionrs?IO;J ((?Z/#5r~~ FC CtOR^^,c2tjjr6ttjtjj k(dyttjj ddtjj k(dy)Nz)short_version mismatch in release version+rz-short_version mismatch in development version)rversionreleaserr short_versionsplitrr test_short_versionr"sb zz"**":"::; = $$S)!, 0H0HH? ArcttjDchc]}|jdr|}}hd}||k(sJycc}w)N_>rr full_version git_revisionr)dirrr startswith)scontentsexpecteds r test_version_moduler!,sErzz?Da!,,s2CDHDH x  Es AA) __doc__rnumpyr numpy.testingrrrr!rrr r%s%" !-A  r