§ <ˆj÷ãó2—dZddlZdgZGd„d¦«ZdS)aUtility to compare (NumPy) version strings. The NumpyVersion class allows properly comparing numpy version strings. The LooseVersion and StrictVersion classes that distutils provides don't work; they don't recognize anything like alpha/beta/rc/dev versions. éNÚ NumpyVersioncóT—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd S)raParse and compare numpy version strings. NumPy has the following versioning scheme (numbers given are examples; they can be > 9 in principle): - Released version: '1.8.0', '1.8.1', etc. - Alpha: '1.8.0a1', '1.8.0a2', etc. - Beta: '1.8.0b1', '1.8.0b2', etc. - Release candidates: '1.8.0rc1', '1.8.0rc2', etc. - Development versions: '1.8.0.dev-f1234afa' (git commit hash appended) - Development versions after a1: '1.8.0a1.dev-f1234afa', '1.8.0b2.dev-f1234afa', '1.8.1rc1.dev-f1234afa', etc. - Development versions (no git hash available): '1.8.0.dev-Unknown' Comparing needs to be done against a valid version string or other `NumpyVersion` instance. Note that all development versions of the same (pre-)release compare equal. .. versionadded:: 1.9.0 Parameters ---------- vstring : str NumPy version string (``np.__version__``). Examples -------- >>> from numpy.lib import NumpyVersion >>> if NumpyVersion(np.__version__) < '1.7.0': ... print('skip') >>> # skip >>> NumpyVersion('1.7') # raises ValueError, add ".0" Traceback (most recent call last): ... ValueError: Not a valid numpy version string có2—||_tjd|¦«}|std¦«‚| ¦«|_d„|j d¦«D¦«\|_|_|_ t|¦«|  ¦«krd|_ nÅtjd||  ¦«d…¦«}tjd||  ¦«d…¦«}tjd||  ¦«d…¦«}d „|||fD¦«}|r |d  ¦«|_ nd |_ ttjd |¦«¦«|_dS) Nz \d+\.\d+\.\d+z Not a valid numpy version stringcó,—g|]}t|¦«‘ŒS©)Úint)Ú.0Úxs úI/opt/cloudlinux/venv/lib64/python3.11/site-packages/numpy/lib/_version.pyú z)NumpyVersion.__init__..>s*€ð/%ð/%ð/%¸!­s°1©v¬vð/%ð/%ð/%óú.Úfinalza\dzb\dzrc\dcó—g|]}|®|‘ŒS)Nr)r Úms r r z)NumpyVersion.__init__..Fs€ÐEÐEÐE˜Q°q°}�q°}°}°}r rÚz.dev)ÚvstringÚreÚmatchÚ ValueErrorÚgroupÚversionÚsplitÚmajorÚminorÚbugfixÚlenÚendÚ pre_releaseÚboolÚsearchÚ is_devversion)ÚselfrÚver_mainÚalphaÚbetaÚrcÚpre_rels r Ú__init__zNumpyVersion.__init__7sp€ØˆŒ Ý”8Ð,¨gÑ6Ô6ˆØð AÝÐ?Ñ@Ô@Ð @à—~’~Ñ'Ô'ˆŒ ð/%ð/%Ø ŒL× Ò ˜sÑ #Ô #ð/%ñ/%ô/%Ñ+ˆŒ �D”J ¤ å ˆw‰<Œ<˜8Ÿ<š<™>œ>Ò )Ð )Ø&ˆDÔ Ð å”H˜V W¨X¯\ª\©^¬^¨_¨_Ô%=Ñ>Ô>ˆEÝ”8˜F G¨H¯LªL©N¬N¨O¨OÔ$<Ñ=Ô=ˆDÝ”˜' 7¨8¯<ª<©>¬>¨?¨?Ô#;Ñ<Ô<ˆBØEÐE 5¨$°Ð"3ÐEÑEÔEˆGØð &Ø#*¨1¤:×#3Ò#3Ñ#5Ô#5�Ô Ð à#%�Ô å!¥"¤)¨G°WÑ"=Ô"=Ñ>Ô>ˆÔÐÐr cóî—|j|jkrO|j|jkr)|j|jkrd}nA|j|jkrd}n.d}n+|j|jkrd}nd}n|j|jkrd}nd}|S)zCompare major.minor.bugfixrééÿÿÿÿ)rrr©r#ÚotherÚvercmps r Ú_compare_versionzNumpyVersion._compare_versionNs�€à Œ:˜œÒ $Ð $ØŒz˜Uœ[Ò(Ð(Ø”; %¤,Ò.Ð.Ø�F�FØ”[ 5¤<Ò/Ð/Ø�F�Fà�F�FØ”˜eœkÒ)Ð)Ø��à��Ø ŒZ˜%œ+Ò %Ð %؈FˆFàˆFàˆ r cóŽ—|j|jkrd}n1|jdkrd}n#|jdkrd}n|j|jkrd}nd}|S)zCompare alpha/beta/rc/final.rrr+r,)rr-s r Ú_compare_pre_releasez!NumpyVersion._compare_pre_releasecsf€à Ô ˜uÔ0Ò 0Ð 0؈FˆFØ Ô  Ò (Ð (؈FˆFØ Ô  'Ò )Ð )؈FˆFØ Ô  Ô 1Ò 1Ð 1؈FˆFàˆFàˆ r cóJ—t|ttf¦«std¦«‚t|t¦«rt|¦«}| |¦«}|dkr8| |¦«}|dkr|j|jurd}n |jrd}nd}|S)Nz,Invalid object to compare with NumpyVersion.rr,r+)Ú isinstanceÚstrrrr0r2r"r-s r Ú_comparezNumpyVersion._comparers´€Ý˜%¥#¥|Ð!4Ñ5Ô5ð MÝÐKÑLÔLÐ Lå �e�SÑ !Ô !ð (Ý  Ñ'Ô'ˆEà×&Ò& uÑ-Ô-ˆØ �QŠ;ˆ;à×.Ò.¨uÑ5Ô5ˆFؘŠ{ˆ{àÔ%¨Ô)<Ð<Ð<Ø�F�FØÔ'ðØ�F�Fà�Fàˆ r có4—| |¦«dkS©Nr©r6©r#r.s r Ú__lt__zNumpyVersion.__lt__ˆó€Ø�}Š}˜UÑ#Ô# aÒ'Ð'r có4—| |¦«dkSr8r9r:s r Ú__le__zNumpyVersion.__le__‹ó€Ø�}Š}˜UÑ#Ô# qÒ(Ð(r có4—| |¦«dkSr8r9r:s r Ú__eq__zNumpyVersion.__eq__Žr?r có4—| |¦«dkSr8r9r:s r Ú__ne__zNumpyVersion.__ne__‘r?r có4—| |¦«dkSr8r9r:s r Ú__gt__zNumpyVersion.__gt__”r<r có4—| |¦«dkSr8r9r:s r Ú__ge__zNumpyVersion.__ge__—r?r có—d|jzS)NzNumpyVersion(%s))r)r#s r Ú__repr__zNumpyVersion.__repr__šs€Ø! D¤LÑ0Ð0r N)Ú__name__Ú __module__Ú __qualname__Ú__doc__r)r0r2r6r;r>rArCrErGrIrr r rrsÄ€€€€€ð&ð&ðP?ð?ð?ð.ððð* ð ð ðððð,(ð(ð(ð)ð)ð)ð)ð)ð)ð)ð)ð)ð(ð(ð(ð)ð)ð)ð1ð1ð1ð1ð1r )rMrÚ__all__rrr r úrOs`ðððð € € € ð Ð €ðM1ðM1ðM1ðM1ðM1ñM1ôM1ðM1ðM1ðM1r