dycw-utilities 0.176.5__py3-none-any.whl → 0.176.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dycw_utilities-0.176.5.dist-info → dycw_utilities-0.176.6.dist-info}/METADATA +1 -1
- {dycw_utilities-0.176.5.dist-info → dycw_utilities-0.176.6.dist-info}/RECORD +6 -6
- utilities/__init__.py +1 -1
- utilities/packaging.py +25 -8
- {dycw_utilities-0.176.5.dist-info → dycw_utilities-0.176.6.dist-info}/WHEEL +0 -0
- {dycw_utilities-0.176.5.dist-info → dycw_utilities-0.176.6.dist-info}/entry_points.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
utilities/__init__.py,sha256=
|
|
1
|
+
utilities/__init__.py,sha256=30qJasMvZPS_VQwLBhylCmlhjcGr2IwhMF8Ehsdi7-M,60
|
|
2
2
|
utilities/altair.py,sha256=TLfRFbG9HwG7SLXoJ-v0r-t49ZaGgTQZD82cpjVi4vs,9085
|
|
3
3
|
utilities/asyncio.py,sha256=aJySVxBY0gqsIYnoNmH7-1r8djKuf4vSsU69VCD08t8,16772
|
|
4
4
|
utilities/atomicwrites.py,sha256=tPo6r-Rypd9u99u66B9z86YBPpnLrlHtwox_8Z7T34Y,5790
|
|
@@ -44,7 +44,7 @@ utilities/operator.py,sha256=C3NylZWGTVWRpwYHOPVhaLgRhw0DfpS4_XQ8KfPhBLQ,3613
|
|
|
44
44
|
utilities/optuna.py,sha256=C-fhWYiXHVPo1l8QctYkFJ4DyhbSrGorzP1dJb_qvd8,1933
|
|
45
45
|
utilities/orjson.py,sha256=T_0SlK811ysg46d3orvIPY3JpBa4FRMpP2wlPQo7-gU,41854
|
|
46
46
|
utilities/os.py,sha256=kjKKSQfnRqFTTZ315iavaaGd3gGuYNoSWlxVLCJjyQs,4852
|
|
47
|
-
utilities/packaging.py,sha256=
|
|
47
|
+
utilities/packaging.py,sha256=UGD2O2kW8fRYCPpwrBS2qq1j-3f1WsYDkyvaP2bxg3s,3096
|
|
48
48
|
utilities/parse.py,sha256=g7Qm9eBOIeDId2tGA021CIaeF6jp1TI8rx4srdvlyoo,17937
|
|
49
49
|
utilities/pathlib.py,sha256=N4Ip8R9eCM-6GfvxUJ3T9oQIle2C2P52F-13BCFRdTg,9345
|
|
50
50
|
utilities/permissions.py,sha256=vLXlWztSVYffbrxptne7ksj6dU1HLekm4fEvS4ny_4Q,8944
|
|
@@ -98,7 +98,7 @@ utilities/warnings.py,sha256=un1LvHv70PU-LLv8RxPVmugTzDJkkGXRMZTE2-fTQHw,1771
|
|
|
98
98
|
utilities/whenever.py,sha256=F4ek0-OBWxHYrZdmoZt76N2RnNyKY5KrEHt7rqO4AQE,60183
|
|
99
99
|
utilities/zipfile.py,sha256=24lQc9ATcJxHXBPc_tBDiJk48pWyRrlxO2fIsFxU0A8,699
|
|
100
100
|
utilities/zoneinfo.py,sha256=tdIScrTB2-B-LH0ukb1HUXKooLknOfJNwHk10MuMYvA,3619
|
|
101
|
-
dycw_utilities-0.176.
|
|
102
|
-
dycw_utilities-0.176.
|
|
103
|
-
dycw_utilities-0.176.
|
|
104
|
-
dycw_utilities-0.176.
|
|
101
|
+
dycw_utilities-0.176.6.dist-info/WHEEL,sha256=KSLUh82mDPEPk0Bx0ScXlWL64bc8KmzIPNcpQZFV-6E,79
|
|
102
|
+
dycw_utilities-0.176.6.dist-info/entry_points.txt,sha256=cOGtKeJI0KXLSV7MJ8Dhc2G8jPgDcBDm53MVNJU4ycI,136
|
|
103
|
+
dycw_utilities-0.176.6.dist-info/METADATA,sha256=2x7y41YJEnsO9-W1RdfA0Ndxo7GSBDyS_Ip3uz4NazY,1398
|
|
104
|
+
dycw_utilities-0.176.6.dist-info/RECORD,,
|
utilities/__init__.py
CHANGED
utilities/packaging.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
-
from typing import TYPE_CHECKING, Self, override
|
|
4
|
+
from typing import TYPE_CHECKING, Self, overload, override
|
|
5
5
|
|
|
6
6
|
import packaging._parser
|
|
7
7
|
import packaging.requirements
|
|
@@ -20,8 +20,8 @@ class Requirement:
|
|
|
20
20
|
_parsed_req: packaging._parser.ParsedRequirement
|
|
21
21
|
_custom_req: _CustomRequirement
|
|
22
22
|
|
|
23
|
-
def __getitem__(self,
|
|
24
|
-
return self.specifier_set[
|
|
23
|
+
def __getitem__(self, operator: str, /) -> str:
|
|
24
|
+
return self.specifier_set[operator]
|
|
25
25
|
|
|
26
26
|
@override
|
|
27
27
|
def __str__(self) -> str:
|
|
@@ -39,6 +39,13 @@ class Requirement:
|
|
|
39
39
|
def extras(self) -> list[str]:
|
|
40
40
|
return self._parsed_req.extras
|
|
41
41
|
|
|
42
|
+
@overload
|
|
43
|
+
def get(self, operator: str, default: str, /) -> str: ...
|
|
44
|
+
@overload
|
|
45
|
+
def get(self, operator: str, default: None = None, /) -> str | None: ...
|
|
46
|
+
def get(self, operator: str, default: str | None = None, /) -> str | None:
|
|
47
|
+
return self.specifier_set.get(operator, default)
|
|
48
|
+
|
|
42
49
|
@property
|
|
43
50
|
def marker(self) -> MarkerList | None:
|
|
44
51
|
return self._parsed_req.marker
|
|
@@ -69,18 +76,28 @@ class _CustomRequirement(packaging.requirements.Requirement):
|
|
|
69
76
|
|
|
70
77
|
|
|
71
78
|
class _CustomSpecifierSet(SpecifierSet):
|
|
72
|
-
def __getitem__(self,
|
|
79
|
+
def __getitem__(self, operator: str, /) -> str:
|
|
73
80
|
try:
|
|
74
|
-
return one(s.version for s in self if s.operator ==
|
|
81
|
+
return one(s.version for s in self if s.operator == operator)
|
|
75
82
|
except OneEmptyError:
|
|
76
|
-
raise KeyError(
|
|
83
|
+
raise KeyError(operator) from None
|
|
77
84
|
|
|
78
85
|
@override
|
|
79
86
|
def __str__(self) -> str:
|
|
80
|
-
specs = sorted(self._specs, key=self.
|
|
87
|
+
specs = sorted(self._specs, key=self._sort_key)
|
|
81
88
|
return ", ".join(map(str, specs))
|
|
82
89
|
|
|
83
|
-
|
|
90
|
+
@overload
|
|
91
|
+
def get(self, operator: str, default: str, /) -> str: ...
|
|
92
|
+
@overload
|
|
93
|
+
def get(self, operator: str, default: None = None, /) -> str | None: ...
|
|
94
|
+
def get(self, operator: str, default: str | None = None, /) -> str | None:
|
|
95
|
+
try:
|
|
96
|
+
return self[operator]
|
|
97
|
+
except KeyError:
|
|
98
|
+
return default
|
|
99
|
+
|
|
100
|
+
def _sort_key(self, spec: Specifier, /) -> int:
|
|
84
101
|
return [">=", "<"].index(spec.operator)
|
|
85
102
|
|
|
86
103
|
|
|
File without changes
|
|
File without changes
|