golden hour
/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/lib
⬆️ Go Up
Upload
File/Folder
Size
Actions
__init__.py
2.7 KB
Del
OK
__init__.pyi
5.46 KB
Del
OK
__pycache__
-
Del
OK
_datasource.py
22.1 KB
Del
OK
_iotools.py
30.14 KB
Del
OK
_version.py
4.74 KB
Del
OK
_version.pyi
633 B
Del
OK
arraypad.py
31.06 KB
Del
OK
arraypad.pyi
1.69 KB
Del
OK
arraysetops.py
32.87 KB
Del
OK
arraysetops.pyi
8.14 KB
Del
OK
arrayterator.py
6.9 KB
Del
OK
arrayterator.pyi
1.5 KB
Del
OK
format.py
33.95 KB
Del
OK
format.pyi
748 B
Del
OK
function_base.py
184.67 KB
Del
OK
function_base.pyi
16.2 KB
Del
OK
histograms.py
36.81 KB
Del
OK
histograms.pyi
995 B
Del
OK
index_tricks.py
30.61 KB
Del
OK
index_tricks.pyi
4.15 KB
Del
OK
mixins.py
6.91 KB
Del
OK
mixins.pyi
3.04 KB
Del
OK
nanfunctions.py
64.23 KB
Del
OK
nanfunctions.pyi
606 B
Del
OK
npyio.py
95.04 KB
Del
OK
npyio.pyi
9.5 KB
Del
OK
polynomial.py
43.1 KB
Del
OK
polynomial.pyi
6.79 KB
Del
OK
recfunctions.py
58.03 KB
Del
OK
scimath.py
14.68 KB
Del
OK
scimath.pyi
2.82 KB
Del
OK
setup.py
405 B
Del
OK
shape_base.py
38.03 KB
Del
OK
shape_base.pyi
5.06 KB
Del
OK
stride_tricks.py
17.49 KB
Del
OK
stride_tricks.pyi
1.71 KB
Del
OK
tests
-
Del
OK
twodim_base.py
32.17 KB
Del
OK
twodim_base.pyi
5.24 KB
Del
OK
type_check.py
19.49 KB
Del
OK
type_check.pyi
5.44 KB
Del
OK
ufunclike.py
6.18 KB
Del
OK
ufunclike.pyi
1.26 KB
Del
OK
user_array.py
7.54 KB
Del
OK
utils.py
36.92 KB
Del
OK
utils.pyi
2.3 KB
Del
OK
Edit: _version.py
"""Utility 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. """ import re __all__ = ['NumpyVersion'] class NumpyVersion(): """Parse 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 """ def __init__(self, vstring): self.vstring = vstring ver_main = re.match(r'\d+\.\d+\.\d+', vstring) if not ver_main: raise ValueError("Not a valid numpy version string") self.version = ver_main.group() self.major, self.minor, self.bugfix = [int(x) for x in self.version.split('.')] if len(vstring) == ver_main.end(): self.pre_release = 'final' else: alpha = re.match(r'a\d', vstring[ver_main.end():]) beta = re.match(r'b\d', vstring[ver_main.end():]) rc = re.match(r'rc\d', vstring[ver_main.end():]) pre_rel = [m for m in [alpha, beta, rc] if m is not None] if pre_rel: self.pre_release = pre_rel[0].group() else: self.pre_release = '' self.is_devversion = bool(re.search(r'.dev', vstring)) def _compare_version(self, other): """Compare major.minor.bugfix""" if self.major == other.major: if self.minor == other.minor: if self.bugfix == other.bugfix: vercmp = 0 elif self.bugfix > other.bugfix: vercmp = 1 else: vercmp = -1 elif self.minor > other.minor: vercmp = 1 else: vercmp = -1 elif self.major > other.major: vercmp = 1 else: vercmp = -1 return vercmp def _compare_pre_release(self, other): """Compare alpha/beta/rc/final.""" if self.pre_release == other.pre_release: vercmp = 0 elif self.pre_release == 'final': vercmp = 1 elif other.pre_release == 'final': vercmp = -1 elif self.pre_release > other.pre_release: vercmp = 1 else: vercmp = -1 return vercmp def _compare(self, other): if not isinstance(other, (str, NumpyVersion)): raise ValueError("Invalid object to compare with NumpyVersion.") if isinstance(other, str): other = NumpyVersion(other) vercmp = self._compare_version(other) if vercmp == 0: # Same x.y.z version, check for alpha/beta/rc vercmp = self._compare_pre_release(other) if vercmp == 0: # Same version and same pre-release, check if dev version if self.is_devversion is other.is_devversion: vercmp = 0 elif self.is_devversion: vercmp = -1 else: vercmp = 1 return vercmp def __lt__(self, other): return self._compare(other) < 0 def __le__(self, other): return self._compare(other) <= 0 def __eq__(self, other): return self._compare(other) == 0 def __ne__(self, other): return self._compare(other) != 0 def __gt__(self, other): return self._compare(other) > 0 def __ge__(self, other): return self._compare(other) >= 0 def __repr__(self): return "NumpyVersion(%s)" % self.vstring
Save