zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
U
P±d’ã@s$dZddlZdgZGdd„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@sheZdZdZdd„Zdd„Zdd„Zdd    „Zd
d „Zd d „Z    dd„Z
dd„Z dd„Z dd„Z dd„ZdS)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
 
    cCsî||_t d|¡}|stdƒ‚| ¡|_dd„|j d¡Dƒ\|_|_|_    t
|ƒ|  ¡krbd|_ nvt d||  ¡d…¡}t d||  ¡d…¡}t d    ||  ¡d…¡}d
d„|||fDƒ}|rÒ|d  ¡|_ nd |_ t t d |¡ƒ|_dS)Nz \d+\.\d+\.\d+z Not a valid numpy version stringcSsg|] }t|ƒ‘qS©)Úint)Ú.0ÚxrrúId:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/lib/_version.pyÚ
<listcomp>>sz)NumpyVersion.__init__.<locals>.<listcomp>Ú.Úfinalza\dzb\dzrc\dcSsg|]}|dk    r|‘qS)Nr)rÚmrrrrFsrÚz.dev)ÚvstringÚreÚmatchÚ
ValueErrorÚgroupÚversionÚsplitÚmajorÚminorÚbugfixÚlenÚendÚ pre_releaseÚboolÚsearchÚ is_devversion)Úselfr Zver_mainÚalphaÚbetaÚrcZpre_relrrrÚ__init__7s$ 
 
ÿzNumpyVersion.__init__cCst|j|jkrZ|j|jkrB|j|jkr*d}qX|j|jkr<d}qXd}qp|j|jkrTd}qpd}n|j|jkrld}nd}|S)zCompare major.minor.bugfixrééÿÿÿÿ)rrr©rÚotherZvercmprrrÚ_compare_versionNs      zNumpyVersion._compare_versioncCsL|j|jkrd}n6|jdkr"d}n&|jdkr2d}n|j|jkrDd}nd}|S)zCompare alpha/beta/rc/final.rr
r"r#)rr$rrrÚ_compare_pre_releasecs 
 
 z!NumpyVersion._compare_pre_releasecCsrt|ttfƒstdƒ‚t|tƒr(t|ƒ}| |¡}|dkrn| |¡}|dkrn|j|jkr^d}n|jrjd}nd}|S)Nz,Invalid object to compare with NumpyVersion.rr#r")Ú
isinstanceÚstrrrr&r'rr$rrrÚ_comparers
 
 
 zNumpyVersion._comparecCs| |¡dkS©Nr©r*©rr%rrrÚ__lt__ˆszNumpyVersion.__lt__cCs| |¡dkSr+r,r-rrrÚ__le__‹szNumpyVersion.__le__cCs| |¡dkSr+r,r-rrrÚ__eq__ŽszNumpyVersion.__eq__cCs| |¡dkSr+r,r-rrrÚ__ne__‘szNumpyVersion.__ne__cCs| |¡dkSr+r,r-rrrÚ__gt__”szNumpyVersion.__gt__cCs| |¡dkSr+r,r-rrrÚ__ge__—szNumpyVersion.__ge__cCs
d|jS)NzNumpyVersion(%s))r )rrrrÚ__repr__šszNumpyVersion.__repr__N)Ú__name__Ú
__module__Ú __qualname__Ú__doc__r!r&r'r*r.r/r0r1r2r3r4rrrrrs()r8rÚ__all__rrrrrÚ<module>s