pydmoo 0.0.12__tar.gz → 0.0.13__tar.gz
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.
- {pydmoo-0.0.12 → pydmoo-0.0.13}/PKG-INFO +2 -1
- pydmoo-0.0.13/docs/figs/PF/GTS1.png +0 -0
- pydmoo-0.0.13/docs/figs/PF/GTS10.png +0 -0
- pydmoo-0.0.13/docs/figs/PF/GTS11.png +0 -0
- pydmoo-0.0.13/docs/figs/PF/GTS2.png +0 -0
- pydmoo-0.0.13/docs/figs/PF/GTS3.png +0 -0
- pydmoo-0.0.13/docs/figs/PF/GTS4.png +0 -0
- pydmoo-0.0.13/docs/figs/PF/GTS5.png +0 -0
- pydmoo-0.0.13/docs/figs/PF/GTS6.png +0 -0
- pydmoo-0.0.13/docs/figs/PF/GTS7.png +0 -0
- pydmoo-0.0.13/docs/figs/PF/GTS8.png +0 -0
- pydmoo-0.0.13/docs/figs/PF/GTS9.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS1.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS10.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS11.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS2.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS3.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS4.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS5.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS6.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS7.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS8.png +0 -0
- pydmoo-0.0.13/docs/figs/PS/GTS9.png +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/mkdocs.yml +3 -0
- pydmoo-0.0.13/pydmoo/__init__.py +5 -0
- pydmoo-0.0.13/pydmoo/_version.py +1 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/pydmoo/problems/dyn.py +5 -5
- {pydmoo-0.0.12 → pydmoo-0.0.13}/pydmoo/problems/dynamic/gts.py +83 -9
- {pydmoo-0.0.12 → pydmoo-0.0.13}/pyproject.toml +30 -11
- {pydmoo-0.0.12 → pydmoo-0.0.13}/uv.lock +152 -11
- pydmoo-0.0.12/pydmoo/response/__init__.py +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/.github/workflows/docs.yml +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/.github/workflows/publish.yml +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/.gitignore +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/.python-version +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/CODE_OF_CONDUCT.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/LICENSE +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/README.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/api-manual/index.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/index.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/algorithms/diversity-based.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/algorithms/index.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/algorithms/knowledge-based.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/algorithms/memory-based.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/algorithms/multi-population-based.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/algorithms/prediction-based.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/applications/index.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/index.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/metrics/index.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/problems/benchmarks.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/reference/problems/index.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/users-guide/bug-report.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/users-guide/installation.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/docs/users-guide/pull-request.md +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/generate_docs.py +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/pydmoo/problems/__init__.py +0 -0
- {pydmoo-0.0.12/pydmoo → pydmoo-0.0.13/pydmoo/problems/dynamic}/__init__.py +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/pydmoo/problems/dynamic/cec2015.py +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/pydmoo/problems/dynamic/df.py +0 -0
- {pydmoo-0.0.12/pydmoo/problems/dynamic → pydmoo-0.0.13/pydmoo/response}/__init__.py +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/pydmoo/response/ar_model.py +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/pydmoo/response/bounds.py +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/pydmoo/response/tca_model.py +0 -0
- {pydmoo-0.0.12 → pydmoo-0.0.13}/pydmoo.sublime-project +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydmoo
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.13
|
|
4
4
|
Summary: pydmoo
|
|
5
5
|
Project-URL: Homepage, https://github.com/dynoptimization/pydmoo
|
|
6
6
|
Project-URL: Repository, https://github.com/dynoptimization/pydmoo
|
|
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
21
22
|
Classifier: Topic :: Scientific/Engineering
|
|
22
23
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
23
24
|
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.0.13"
|
|
@@ -22,10 +22,10 @@ class DynamicTestProblem(DynamicProblem, ABC):
|
|
|
22
22
|
self.tau = tau
|
|
23
23
|
self.nt = nt
|
|
24
24
|
self.taut = taut
|
|
25
|
-
self.t0 = t0 # added
|
|
25
|
+
self.t0 = t0 # added by DynOpt
|
|
26
26
|
self._time = time
|
|
27
27
|
|
|
28
|
-
self.add_time_perturbation = add_time_perturbation # added
|
|
28
|
+
self.add_time_perturbation = add_time_perturbation # added by DynOpt
|
|
29
29
|
|
|
30
30
|
def tic(self, elapsed=1):
|
|
31
31
|
|
|
@@ -42,7 +42,7 @@ class DynamicTestProblem(DynamicProblem, ABC):
|
|
|
42
42
|
else:
|
|
43
43
|
# return 1 / self.nt * (self.tau // self.taut)
|
|
44
44
|
|
|
45
|
-
# added
|
|
45
|
+
# added by DynOpt
|
|
46
46
|
delta_time = 1 / self.nt
|
|
47
47
|
count = max((self.tau + self.taut - (self.t0 + 1)), 0) // self.taut
|
|
48
48
|
|
|
@@ -60,7 +60,7 @@ class DynamicTestProblem(DynamicProblem, ABC):
|
|
|
60
60
|
def time(self, value):
|
|
61
61
|
self._time = value
|
|
62
62
|
|
|
63
|
-
# added
|
|
63
|
+
# added by DynOpt
|
|
64
64
|
def update_to_next_time(self):
|
|
65
65
|
|
|
66
66
|
# update to next time
|
|
@@ -78,7 +78,7 @@ class TimeSimulation(Callback):
|
|
|
78
78
|
def update(self, algorithm):
|
|
79
79
|
problem = algorithm.problem
|
|
80
80
|
|
|
81
|
-
# added
|
|
81
|
+
# added by DynOpt
|
|
82
82
|
# Designed to handle time-linkage properties within the GTS test suites.
|
|
83
83
|
if hasattr(problem, "time_linkage") and hasattr(problem, "cal"):
|
|
84
84
|
problem.cal(algorithm.opt.get("F"))
|
|
@@ -16,47 +16,47 @@ def knee_point(F):
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
def G_t(t):
|
|
19
|
-
"""G(t) = sin(0.5
|
|
19
|
+
"""\\( G(t) = \\sin(0.5\\pi t) \\)"""
|
|
20
20
|
return np.sin(0.5 * np.pi * t)
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def H_t(t):
|
|
24
|
-
"""H(t) = 1.5 + G(t)"""
|
|
24
|
+
"""\\( H(t) = 1.5 + G(t) \\)"""
|
|
25
25
|
return 1.5 + G_t(t)
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
def alpha_t(t):
|
|
29
|
-
"""
|
|
29
|
+
"""\\( \\alpha_t = 5\\cos(0.5\\pi t) \\)"""
|
|
30
30
|
return 5 * np.cos(0.5 * np.pi * t)
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
def beta_t(t):
|
|
34
|
-
"""
|
|
34
|
+
"""\\( \\beta_t = 0.2 + 2.8|G(t)| \\)"""
|
|
35
35
|
return 0.2 + 2.8 * np.abs(G_t(t))
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
def omega_t(t):
|
|
39
|
-
"""
|
|
39
|
+
"""\\( \\omega_t = \\lfloor 10G(t) \\rfloor \\)"""
|
|
40
40
|
return np.floor(10 * G_t(t))
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
def a_t(t):
|
|
44
|
-
"""a = sin(0.5
|
|
44
|
+
"""\\( a(t) = \\sin(0.5\\pi t) \\)"""
|
|
45
45
|
return np.sin(0.5 * np.pi * t)
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
def b_t(t):
|
|
49
|
-
"""b = 1 +
|
|
49
|
+
"""\\( b(t) = 1 + |\\cos(0.5\\pi t)| \\)"""
|
|
50
50
|
return 1 + np.abs(np.cos(0.5 * np.pi * t))
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
def y_t(x1, t):
|
|
54
|
-
"""
|
|
54
|
+
"""\\( y_t(x_1) = 0.5 + G(t)(x_1 - 0.5) \\)"""
|
|
55
55
|
return 0.5 + G_t(t) * (x1 - 0.5)
|
|
56
56
|
|
|
57
57
|
|
|
58
58
|
def p_t(t):
|
|
59
|
-
"""
|
|
59
|
+
"""\\( p_t = \\lfloor 6G(t) \\rfloor \\)"""
|
|
60
60
|
return np.floor(6 * G_t(t))
|
|
61
61
|
|
|
62
62
|
|
|
@@ -131,6 +131,43 @@ class GTS(DynamicTestProblem):
|
|
|
131
131
|
|
|
132
132
|
|
|
133
133
|
class GTS1(GTS):
|
|
134
|
+
r"""
|
|
135
|
+
\begin{equation}
|
|
136
|
+
\text{min}
|
|
137
|
+
\begin{cases}
|
|
138
|
+
f_1(\mathbf{x},t) = x_1 \\
|
|
139
|
+
f_2(\mathbf{x},t) = g(\mathbf{x},t)(1 - (\frac{x_1}{g(\mathbf{x},t)})^{H(t)})
|
|
140
|
+
\end{cases}
|
|
141
|
+
\end{equation}
|
|
142
|
+
|
|
143
|
+
with
|
|
144
|
+
|
|
145
|
+
\begin{equation*}
|
|
146
|
+
\begin{split}
|
|
147
|
+
g(\mathbf{x},t) = 1
|
|
148
|
+
&+ \Bigl(\bigl(\mathbf{x}_{II,1} - h_1(\mathbf{x}_I)\bigr)^T \mathbf{R}_{II,1}(t) \bigl(\mathbf{x}_{II,1} - h_1(\mathbf{x}_I)\bigr)\Bigr)^{\frac{1}{p}} \\
|
|
149
|
+
&+ \Bigl(\bigl(\mathbf{x}_{II,2} - h_2(\mathbf{x}_I)\bigr)^T \mathbf{R}_{II,2}(t) \bigl(\mathbf{x}_{II,2} - h_2(\mathbf{x}_I)\bigr)\Bigr)^{\frac{1}{p}}
|
|
150
|
+
\end{split}
|
|
151
|
+
\end{equation*}
|
|
152
|
+
|
|
153
|
+
where $p \geq 1$, $\mathbf{x}_I = (x_1)$, $\mathbf{x}_{II,1} = (x_2, \cdots, x_{\lfloor\frac{D}{2}\rfloor})$ and $\mathbf{x}_{II,2} = (x_{\lfloor\frac{D}{2}\rfloor + 1}, \cdots, x_D)$,
|
|
154
|
+
$h_1(\mathbf{x}_I, t) = \cos(0.5\pi t)$ and $h_2(\mathbf{x}_I, t) = G(t) + x_1^{H(t)}$,
|
|
155
|
+
$\mathbf{R}_{II,1}(t)$ and $\mathbf{R}_{II,2}(t)$ are symmetric positive semidefinite matrices in the $t$-th environment,
|
|
156
|
+
the search space is $[0,1] \times [-1,1]^{\lfloor\frac{D}{2}\rfloor -1} \times [-1, 2]^{\lceil\frac{D}{2}\rceil}$.
|
|
157
|
+
|
|
158
|
+
The PF and PS at time t can be described as:
|
|
159
|
+
|
|
160
|
+
\begin{equation*}
|
|
161
|
+
\begin{aligned}
|
|
162
|
+
& \text{PS(t): }0 \leq x_1 \leq 1, x_i = h_1(\mathbf{x}_I, t), x_i \in \mathbf{x}_{II,1}, x_j = h_2(\mathbf{x}_I, t), \in \mathbf{x}_{II,2} \\
|
|
163
|
+
& \text{PF(t): a part of }f_2 = 1 - f_1^{H(t)}, 0 \leq f_1 \leq 1
|
|
164
|
+
\end{aligned}
|
|
165
|
+
\end{equation*}
|
|
166
|
+
|
|
167
|
+

|
|
168
|
+
|
|
169
|
+

|
|
170
|
+
"""
|
|
134
171
|
def __init__(self, **kwargs):
|
|
135
172
|
super().__init__(part_idx=1, bounds=((0, 1), (-1, 1), (-1, 2)), **kwargs)
|
|
136
173
|
|
|
@@ -165,6 +202,43 @@ class GTS1(GTS):
|
|
|
165
202
|
|
|
166
203
|
|
|
167
204
|
class GTS2(GTS):
|
|
205
|
+
r"""
|
|
206
|
+
\begin{equation}
|
|
207
|
+
\text{min}
|
|
208
|
+
\begin{cases}
|
|
209
|
+
f_1(\mathbf{x},t) = 0.5x_1+x_2 \\
|
|
210
|
+
f_2(\mathbf{x},t) = g(\mathbf{x},t)(2.8 - (\frac{0.5x_1+x_2}{g(\mathbf{x},t)})^{H(t)})
|
|
211
|
+
\end{cases}
|
|
212
|
+
\end{equation}
|
|
213
|
+
|
|
214
|
+
with
|
|
215
|
+
|
|
216
|
+
\begin{equation*}
|
|
217
|
+
\begin{split}
|
|
218
|
+
g(\mathbf{x},t) = 1
|
|
219
|
+
&+ \Bigl(\bigl(\mathbf{x}_{II,1} - h_1(\mathbf{x}_I)\bigr)^T \mathbf{R}_{II,1}(t) \bigl(\mathbf{x}_{II,1} - h_1(\mathbf{x}_I)\bigr)\Bigr)^{\frac{1}{p}} \\
|
|
220
|
+
&+ \Bigl(\bigl(\mathbf{x}_{II,2} - h_2(\mathbf{x}_I)\bigr)^T \mathbf{R}_{II,2}(t) \bigl(\mathbf{x}_{II,2} - h_2(\mathbf{x}_I)\bigr)\Bigr)^{\frac{1}{p}}
|
|
221
|
+
\end{split}
|
|
222
|
+
\end{equation*}
|
|
223
|
+
|
|
224
|
+
where $p \geq 1$, $\mathbf{x}_I = (x_1, x_2)$, $\mathbf{x}_{II,1} = (x_3, \cdots, x_{\lfloor\frac{D}{2}\rfloor + 1})$ and $\mathbf{x}_{II,2} = (x_{\lfloor\frac{D}{2}\rfloor + 2}, \cdots, x_D)$, $c = \cot(3\pi t^2), \text{when } t^2 \neq \frac{n}{3}, n \in \mathbb{Z}, c = 1e-32, \text{otherwise}$,
|
|
225
|
+
$h_1(\mathbf{x}_I, t) = \frac{1}{\pi}\left\vert{\arctan(c)}\right\vert$ and $h_2(\mathbf{x}_I, t) = G(t) + x_1^{H(t)}$,
|
|
226
|
+
$\mathbf{R}_{II,1}(t)$ and $\mathbf{R}_{II,2}(t)$ are symmetric positive semidefinite matrices in the $t$-th environment,
|
|
227
|
+
the search space is $[0,1]^2 \times [0,1]^{\lfloor\frac{D}{2}\rfloor -1} \times [-1, 2]^{\lceil\frac{D}{2}\rceil-1}$.
|
|
228
|
+
|
|
229
|
+
The PF and PS at time t can be described as:
|
|
230
|
+
|
|
231
|
+
\begin{equation*}
|
|
232
|
+
\begin{aligned}
|
|
233
|
+
& \text{PS(t): }0 \leq x_{1,2} \leq 1, x_i = h_1(\mathbf{x}_I, t), x_i \in \mathbf{x}_{II,1}, x_j = h_2(\mathbf{x}_I, t), \in \mathbf{x}_{II,2} \\
|
|
234
|
+
& \text{PF(t): }f_2 = 2.8 - f_1^{H(t)}, 0 \leq f_1 \leq 1.5
|
|
235
|
+
\end{aligned}
|
|
236
|
+
\end{equation*}
|
|
237
|
+
|
|
238
|
+

|
|
239
|
+
|
|
240
|
+

|
|
241
|
+
"""
|
|
168
242
|
def __init__(self, **kwargs):
|
|
169
243
|
super().__init__(part_idx=2, bounds=((0, 1), (0, 1), (-1, 2)), **kwargs)
|
|
170
244
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "pydmoo"
|
|
3
|
-
|
|
3
|
+
dynamic = ["version"]
|
|
4
4
|
description = "pydmoo"
|
|
5
5
|
license = {text = "GPL-3.0-or-later"}
|
|
6
|
+
license-files = ["LICENSE"]
|
|
6
7
|
authors = [
|
|
7
8
|
{name = "DynOpt", email = "dynoptimization@gmail.com"},
|
|
8
9
|
]
|
|
@@ -15,14 +16,15 @@ keywords = [
|
|
|
15
16
|
"Dynamic Multi-objective Optimization"
|
|
16
17
|
]
|
|
17
18
|
classifiers = [
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
"Operating System :: OS Independent",
|
|
20
|
+
"Programming Language :: Python",
|
|
20
21
|
"Programming Language :: Python :: 3",
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
"Programming Language :: Python :: 3.12",
|
|
23
|
+
"Programming Language :: Python :: 3.13",
|
|
24
|
+
"Programming Language :: Python :: 3.14",
|
|
25
|
+
"Topic :: Scientific/Engineering",
|
|
26
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
27
|
+
"Topic :: Scientific/Engineering :: Mathematics",
|
|
26
28
|
]
|
|
27
29
|
requires-python = ">=3.12"
|
|
28
30
|
dependencies = [
|
|
@@ -49,13 +51,27 @@ Changelog = "https://github.com/dynoptimization/pydmoo/releases"
|
|
|
49
51
|
|
|
50
52
|
[dependency-groups]
|
|
51
53
|
dev = [
|
|
52
|
-
"
|
|
54
|
+
"pytest>=8.4.2",
|
|
55
|
+
"pytest-cov>=7.0.0",
|
|
56
|
+
]
|
|
57
|
+
|
|
58
|
+
lint = [
|
|
53
59
|
"flake8>=7.3.0",
|
|
54
|
-
"isort>=6.1.0",
|
|
55
|
-
"mypy>=1.18.2",
|
|
56
60
|
"pycodestyle>=2.14.0",
|
|
57
61
|
"pydocstyle>=6.3.0",
|
|
62
|
+
]
|
|
63
|
+
format = [
|
|
64
|
+
"black>=25.9.0",
|
|
65
|
+
"isort>=6.1.0",
|
|
66
|
+
]
|
|
67
|
+
type = [
|
|
68
|
+
"mypy>=1.18.2",
|
|
69
|
+
]
|
|
70
|
+
all-lint-format = [
|
|
58
71
|
"ruff>=0.14.0",
|
|
72
|
+
]
|
|
73
|
+
|
|
74
|
+
docs = [
|
|
59
75
|
"mkdocs>=1.6.1",
|
|
60
76
|
"mkdocs-autorefs>=1.4.3",
|
|
61
77
|
"mkdocs-material>=9.6.21",
|
|
@@ -99,3 +115,6 @@ include_trailing_comma = true
|
|
|
99
115
|
[build-system]
|
|
100
116
|
requires = ["hatchling"]
|
|
101
117
|
build-backend = "hatchling.build"
|
|
118
|
+
|
|
119
|
+
[tool.hatch.version]
|
|
120
|
+
path ="pydmoo/_version.py"
|
|
@@ -234,6 +234,80 @@ wheels = [
|
|
|
234
234
|
{ url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831, upload-time = "2025-07-26T12:02:51.449Z" },
|
|
235
235
|
]
|
|
236
236
|
|
|
237
|
+
[[package]]
|
|
238
|
+
name = "coverage"
|
|
239
|
+
version = "7.10.7"
|
|
240
|
+
source = { registry = "https://pypi.org/simple" }
|
|
241
|
+
sdist = { url = "https://files.pythonhosted.org/packages/51/26/d22c300112504f5f9a9fd2297ce33c35f3d353e4aeb987c8419453b2a7c2/coverage-7.10.7.tar.gz", hash = "sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239", size = 827704, upload-time = "2025-09-21T20:03:56.815Z" }
|
|
242
|
+
wheels = [
|
|
243
|
+
{ url = "https://files.pythonhosted.org/packages/13/e4/eb12450f71b542a53972d19117ea5a5cea1cab3ac9e31b0b5d498df1bd5a/coverage-7.10.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7bb3b9ddb87ef7725056572368040c32775036472d5a033679d1fa6c8dc08417", size = 218290, upload-time = "2025-09-21T20:01:36.455Z" },
|
|
244
|
+
{ url = "https://files.pythonhosted.org/packages/37/66/593f9be12fc19fb36711f19a5371af79a718537204d16ea1d36f16bd78d2/coverage-7.10.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:18afb24843cbc175687225cab1138c95d262337f5473512010e46831aa0c2973", size = 218515, upload-time = "2025-09-21T20:01:37.982Z" },
|
|
245
|
+
{ url = "https://files.pythonhosted.org/packages/66/80/4c49f7ae09cafdacc73fbc30949ffe77359635c168f4e9ff33c9ebb07838/coverage-7.10.7-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:399a0b6347bcd3822be369392932884b8216d0944049ae22925631a9b3d4ba4c", size = 250020, upload-time = "2025-09-21T20:01:39.617Z" },
|
|
246
|
+
{ url = "https://files.pythonhosted.org/packages/a6/90/a64aaacab3b37a17aaedd83e8000142561a29eb262cede42d94a67f7556b/coverage-7.10.7-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:314f2c326ded3f4b09be11bc282eb2fc861184bc95748ae67b360ac962770be7", size = 252769, upload-time = "2025-09-21T20:01:41.341Z" },
|
|
247
|
+
{ url = "https://files.pythonhosted.org/packages/98/2e/2dda59afd6103b342e096f246ebc5f87a3363b5412609946c120f4e7750d/coverage-7.10.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c41e71c9cfb854789dee6fc51e46743a6d138b1803fab6cb860af43265b42ea6", size = 253901, upload-time = "2025-09-21T20:01:43.042Z" },
|
|
248
|
+
{ url = "https://files.pythonhosted.org/packages/53/dc/8d8119c9051d50f3119bb4a75f29f1e4a6ab9415cd1fa8bf22fcc3fb3b5f/coverage-7.10.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc01f57ca26269c2c706e838f6422e2a8788e41b3e3c65e2f41148212e57cd59", size = 250413, upload-time = "2025-09-21T20:01:44.469Z" },
|
|
249
|
+
{ url = "https://files.pythonhosted.org/packages/98/b3/edaff9c5d79ee4d4b6d3fe046f2b1d799850425695b789d491a64225d493/coverage-7.10.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a6442c59a8ac8b85812ce33bc4d05bde3fb22321fa8294e2a5b487c3505f611b", size = 251820, upload-time = "2025-09-21T20:01:45.915Z" },
|
|
250
|
+
{ url = "https://files.pythonhosted.org/packages/11/25/9a0728564bb05863f7e513e5a594fe5ffef091b325437f5430e8cfb0d530/coverage-7.10.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:78a384e49f46b80fb4c901d52d92abe098e78768ed829c673fbb53c498bef73a", size = 249941, upload-time = "2025-09-21T20:01:47.296Z" },
|
|
251
|
+
{ url = "https://files.pythonhosted.org/packages/e0/fd/ca2650443bfbef5b0e74373aac4df67b08180d2f184b482c41499668e258/coverage-7.10.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5e1e9802121405ede4b0133aa4340ad8186a1d2526de5b7c3eca519db7bb89fb", size = 249519, upload-time = "2025-09-21T20:01:48.73Z" },
|
|
252
|
+
{ url = "https://files.pythonhosted.org/packages/24/79/f692f125fb4299b6f963b0745124998ebb8e73ecdfce4ceceb06a8c6bec5/coverage-7.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d41213ea25a86f69efd1575073d34ea11aabe075604ddf3d148ecfec9e1e96a1", size = 251375, upload-time = "2025-09-21T20:01:50.529Z" },
|
|
253
|
+
{ url = "https://files.pythonhosted.org/packages/5e/75/61b9bbd6c7d24d896bfeec57acba78e0f8deac68e6baf2d4804f7aae1f88/coverage-7.10.7-cp312-cp312-win32.whl", hash = "sha256:77eb4c747061a6af8d0f7bdb31f1e108d172762ef579166ec84542f711d90256", size = 220699, upload-time = "2025-09-21T20:01:51.941Z" },
|
|
254
|
+
{ url = "https://files.pythonhosted.org/packages/ca/f3/3bf7905288b45b075918d372498f1cf845b5b579b723c8fd17168018d5f5/coverage-7.10.7-cp312-cp312-win_amd64.whl", hash = "sha256:f51328ffe987aecf6d09f3cd9d979face89a617eacdaea43e7b3080777f647ba", size = 221512, upload-time = "2025-09-21T20:01:53.481Z" },
|
|
255
|
+
{ url = "https://files.pythonhosted.org/packages/5c/44/3e32dbe933979d05cf2dac5e697c8599cfe038aaf51223ab901e208d5a62/coverage-7.10.7-cp312-cp312-win_arm64.whl", hash = "sha256:bda5e34f8a75721c96085903c6f2197dc398c20ffd98df33f866a9c8fd95f4bf", size = 220147, upload-time = "2025-09-21T20:01:55.2Z" },
|
|
256
|
+
{ url = "https://files.pythonhosted.org/packages/9a/94/b765c1abcb613d103b64fcf10395f54d69b0ef8be6a0dd9c524384892cc7/coverage-7.10.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:981a651f543f2854abd3b5fcb3263aac581b18209be49863ba575de6edf4c14d", size = 218320, upload-time = "2025-09-21T20:01:56.629Z" },
|
|
257
|
+
{ url = "https://files.pythonhosted.org/packages/72/4f/732fff31c119bb73b35236dd333030f32c4bfe909f445b423e6c7594f9a2/coverage-7.10.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:73ab1601f84dc804f7812dc297e93cd99381162da39c47040a827d4e8dafe63b", size = 218575, upload-time = "2025-09-21T20:01:58.203Z" },
|
|
258
|
+
{ url = "https://files.pythonhosted.org/packages/87/02/ae7e0af4b674be47566707777db1aa375474f02a1d64b9323e5813a6cdd5/coverage-7.10.7-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a8b6f03672aa6734e700bbcd65ff050fd19cddfec4b031cc8cf1c6967de5a68e", size = 249568, upload-time = "2025-09-21T20:01:59.748Z" },
|
|
259
|
+
{ url = "https://files.pythonhosted.org/packages/a2/77/8c6d22bf61921a59bce5471c2f1f7ac30cd4ac50aadde72b8c48d5727902/coverage-7.10.7-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10b6ba00ab1132a0ce4428ff68cf50a25efd6840a42cdf4239c9b99aad83be8b", size = 252174, upload-time = "2025-09-21T20:02:01.192Z" },
|
|
260
|
+
{ url = "https://files.pythonhosted.org/packages/b1/20/b6ea4f69bbb52dac0aebd62157ba6a9dddbfe664f5af8122dac296c3ee15/coverage-7.10.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c79124f70465a150e89340de5963f936ee97097d2ef76c869708c4248c63ca49", size = 253447, upload-time = "2025-09-21T20:02:02.701Z" },
|
|
261
|
+
{ url = "https://files.pythonhosted.org/packages/f9/28/4831523ba483a7f90f7b259d2018fef02cb4d5b90bc7c1505d6e5a84883c/coverage-7.10.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:69212fbccdbd5b0e39eac4067e20a4a5256609e209547d86f740d68ad4f04911", size = 249779, upload-time = "2025-09-21T20:02:04.185Z" },
|
|
262
|
+
{ url = "https://files.pythonhosted.org/packages/a7/9f/4331142bc98c10ca6436d2d620c3e165f31e6c58d43479985afce6f3191c/coverage-7.10.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7ea7c6c9d0d286d04ed3541747e6597cbe4971f22648b68248f7ddcd329207f0", size = 251604, upload-time = "2025-09-21T20:02:06.034Z" },
|
|
263
|
+
{ url = "https://files.pythonhosted.org/packages/ce/60/bda83b96602036b77ecf34e6393a3836365481b69f7ed7079ab85048202b/coverage-7.10.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b9be91986841a75042b3e3243d0b3cb0b2434252b977baaf0cd56e960fe1e46f", size = 249497, upload-time = "2025-09-21T20:02:07.619Z" },
|
|
264
|
+
{ url = "https://files.pythonhosted.org/packages/5f/af/152633ff35b2af63977edd835d8e6430f0caef27d171edf2fc76c270ef31/coverage-7.10.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:b281d5eca50189325cfe1f365fafade89b14b4a78d9b40b05ddd1fc7d2a10a9c", size = 249350, upload-time = "2025-09-21T20:02:10.34Z" },
|
|
265
|
+
{ url = "https://files.pythonhosted.org/packages/9d/71/d92105d122bd21cebba877228990e1646d862e34a98bb3374d3fece5a794/coverage-7.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:99e4aa63097ab1118e75a848a28e40d68b08a5e19ce587891ab7fd04475e780f", size = 251111, upload-time = "2025-09-21T20:02:12.122Z" },
|
|
266
|
+
{ url = "https://files.pythonhosted.org/packages/a2/9e/9fdb08f4bf476c912f0c3ca292e019aab6712c93c9344a1653986c3fd305/coverage-7.10.7-cp313-cp313-win32.whl", hash = "sha256:dc7c389dce432500273eaf48f410b37886be9208b2dd5710aaf7c57fd442c698", size = 220746, upload-time = "2025-09-21T20:02:13.919Z" },
|
|
267
|
+
{ url = "https://files.pythonhosted.org/packages/b1/b1/a75fd25df44eab52d1931e89980d1ada46824c7a3210be0d3c88a44aaa99/coverage-7.10.7-cp313-cp313-win_amd64.whl", hash = "sha256:cac0fdca17b036af3881a9d2729a850b76553f3f716ccb0360ad4dbc06b3b843", size = 221541, upload-time = "2025-09-21T20:02:15.57Z" },
|
|
268
|
+
{ url = "https://files.pythonhosted.org/packages/14/3a/d720d7c989562a6e9a14b2c9f5f2876bdb38e9367126d118495b89c99c37/coverage-7.10.7-cp313-cp313-win_arm64.whl", hash = "sha256:4b6f236edf6e2f9ae8fcd1332da4e791c1b6ba0dc16a2dc94590ceccb482e546", size = 220170, upload-time = "2025-09-21T20:02:17.395Z" },
|
|
269
|
+
{ url = "https://files.pythonhosted.org/packages/bb/22/e04514bf2a735d8b0add31d2b4ab636fc02370730787c576bb995390d2d5/coverage-7.10.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a0ec07fd264d0745ee396b666d47cef20875f4ff2375d7c4f58235886cc1ef0c", size = 219029, upload-time = "2025-09-21T20:02:18.936Z" },
|
|
270
|
+
{ url = "https://files.pythonhosted.org/packages/11/0b/91128e099035ece15da3445d9015e4b4153a6059403452d324cbb0a575fa/coverage-7.10.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd5e856ebb7bfb7672b0086846db5afb4567a7b9714b8a0ebafd211ec7ce6a15", size = 219259, upload-time = "2025-09-21T20:02:20.44Z" },
|
|
271
|
+
{ url = "https://files.pythonhosted.org/packages/8b/51/66420081e72801536a091a0c8f8c1f88a5c4bf7b9b1bdc6222c7afe6dc9b/coverage-7.10.7-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f57b2a3c8353d3e04acf75b3fed57ba41f5c0646bbf1d10c7c282291c97936b4", size = 260592, upload-time = "2025-09-21T20:02:22.313Z" },
|
|
272
|
+
{ url = "https://files.pythonhosted.org/packages/5d/22/9b8d458c2881b22df3db5bb3e7369e63d527d986decb6c11a591ba2364f7/coverage-7.10.7-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1ef2319dd15a0b009667301a3f84452a4dc6fddfd06b0c5c53ea472d3989fbf0", size = 262768, upload-time = "2025-09-21T20:02:24.287Z" },
|
|
273
|
+
{ url = "https://files.pythonhosted.org/packages/f7/08/16bee2c433e60913c610ea200b276e8eeef084b0d200bdcff69920bd5828/coverage-7.10.7-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83082a57783239717ceb0ad584de3c69cf581b2a95ed6bf81ea66034f00401c0", size = 264995, upload-time = "2025-09-21T20:02:26.133Z" },
|
|
274
|
+
{ url = "https://files.pythonhosted.org/packages/20/9d/e53eb9771d154859b084b90201e5221bca7674ba449a17c101a5031d4054/coverage-7.10.7-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50aa94fb1fb9a397eaa19c0d5ec15a5edd03a47bf1a3a6111a16b36e190cff65", size = 259546, upload-time = "2025-09-21T20:02:27.716Z" },
|
|
275
|
+
{ url = "https://files.pythonhosted.org/packages/ad/b0/69bc7050f8d4e56a89fb550a1577d5d0d1db2278106f6f626464067b3817/coverage-7.10.7-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2120043f147bebb41c85b97ac45dd173595ff14f2a584f2963891cbcc3091541", size = 262544, upload-time = "2025-09-21T20:02:29.216Z" },
|
|
276
|
+
{ url = "https://files.pythonhosted.org/packages/ef/4b/2514b060dbd1bc0aaf23b852c14bb5818f244c664cb16517feff6bb3a5ab/coverage-7.10.7-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2fafd773231dd0378fdba66d339f84904a8e57a262f583530f4f156ab83863e6", size = 260308, upload-time = "2025-09-21T20:02:31.226Z" },
|
|
277
|
+
{ url = "https://files.pythonhosted.org/packages/54/78/7ba2175007c246d75e496f64c06e94122bdb914790a1285d627a918bd271/coverage-7.10.7-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:0b944ee8459f515f28b851728ad224fa2d068f1513ef6b7ff1efafeb2185f999", size = 258920, upload-time = "2025-09-21T20:02:32.823Z" },
|
|
278
|
+
{ url = "https://files.pythonhosted.org/packages/c0/b3/fac9f7abbc841409b9a410309d73bfa6cfb2e51c3fada738cb607ce174f8/coverage-7.10.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4b583b97ab2e3efe1b3e75248a9b333bd3f8b0b1b8e5b45578e05e5850dfb2c2", size = 261434, upload-time = "2025-09-21T20:02:34.86Z" },
|
|
279
|
+
{ url = "https://files.pythonhosted.org/packages/ee/51/a03bec00d37faaa891b3ff7387192cef20f01604e5283a5fabc95346befa/coverage-7.10.7-cp313-cp313t-win32.whl", hash = "sha256:2a78cd46550081a7909b3329e2266204d584866e8d97b898cd7fb5ac8d888b1a", size = 221403, upload-time = "2025-09-21T20:02:37.034Z" },
|
|
280
|
+
{ url = "https://files.pythonhosted.org/packages/53/22/3cf25d614e64bf6d8e59c7c669b20d6d940bb337bdee5900b9ca41c820bb/coverage-7.10.7-cp313-cp313t-win_amd64.whl", hash = "sha256:33a5e6396ab684cb43dc7befa386258acb2d7fae7f67330ebb85ba4ea27938eb", size = 222469, upload-time = "2025-09-21T20:02:39.011Z" },
|
|
281
|
+
{ url = "https://files.pythonhosted.org/packages/49/a1/00164f6d30d8a01c3c9c48418a7a5be394de5349b421b9ee019f380df2a0/coverage-7.10.7-cp313-cp313t-win_arm64.whl", hash = "sha256:86b0e7308289ddde73d863b7683f596d8d21c7d8664ce1dee061d0bcf3fbb4bb", size = 220731, upload-time = "2025-09-21T20:02:40.939Z" },
|
|
282
|
+
{ url = "https://files.pythonhosted.org/packages/23/9c/5844ab4ca6a4dd97a1850e030a15ec7d292b5c5cb93082979225126e35dd/coverage-7.10.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b06f260b16ead11643a5a9f955bd4b5fd76c1a4c6796aeade8520095b75de520", size = 218302, upload-time = "2025-09-21T20:02:42.527Z" },
|
|
283
|
+
{ url = "https://files.pythonhosted.org/packages/f0/89/673f6514b0961d1f0e20ddc242e9342f6da21eaba3489901b565c0689f34/coverage-7.10.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:212f8f2e0612778f09c55dd4872cb1f64a1f2b074393d139278ce902064d5b32", size = 218578, upload-time = "2025-09-21T20:02:44.468Z" },
|
|
284
|
+
{ url = "https://files.pythonhosted.org/packages/05/e8/261cae479e85232828fb17ad536765c88dd818c8470aca690b0ac6feeaa3/coverage-7.10.7-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3445258bcded7d4aa630ab8296dea4d3f15a255588dd535f980c193ab6b95f3f", size = 249629, upload-time = "2025-09-21T20:02:46.503Z" },
|
|
285
|
+
{ url = "https://files.pythonhosted.org/packages/82/62/14ed6546d0207e6eda876434e3e8475a3e9adbe32110ce896c9e0c06bb9a/coverage-7.10.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb45474711ba385c46a0bfe696c695a929ae69ac636cda8f532be9e8c93d720a", size = 252162, upload-time = "2025-09-21T20:02:48.689Z" },
|
|
286
|
+
{ url = "https://files.pythonhosted.org/packages/ff/49/07f00db9ac6478e4358165a08fb41b469a1b053212e8a00cb02f0d27a05f/coverage-7.10.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:813922f35bd800dca9994c5971883cbc0d291128a5de6b167c7aa697fcf59360", size = 253517, upload-time = "2025-09-21T20:02:50.31Z" },
|
|
287
|
+
{ url = "https://files.pythonhosted.org/packages/a2/59/c5201c62dbf165dfbc91460f6dbbaa85a8b82cfa6131ac45d6c1bfb52deb/coverage-7.10.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:93c1b03552081b2a4423091d6fb3787265b8f86af404cff98d1b5342713bdd69", size = 249632, upload-time = "2025-09-21T20:02:51.971Z" },
|
|
288
|
+
{ url = "https://files.pythonhosted.org/packages/07/ae/5920097195291a51fb00b3a70b9bbd2edbfe3c84876a1762bd1ef1565ebc/coverage-7.10.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:cc87dd1b6eaf0b848eebb1c86469b9f72a1891cb42ac7adcfbce75eadb13dd14", size = 251520, upload-time = "2025-09-21T20:02:53.858Z" },
|
|
289
|
+
{ url = "https://files.pythonhosted.org/packages/b9/3c/a815dde77a2981f5743a60b63df31cb322c944843e57dbd579326625a413/coverage-7.10.7-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:39508ffda4f343c35f3236fe8d1a6634a51f4581226a1262769d7f970e73bffe", size = 249455, upload-time = "2025-09-21T20:02:55.807Z" },
|
|
290
|
+
{ url = "https://files.pythonhosted.org/packages/aa/99/f5cdd8421ea656abefb6c0ce92556709db2265c41e8f9fc6c8ae0f7824c9/coverage-7.10.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:925a1edf3d810537c5a3abe78ec5530160c5f9a26b1f4270b40e62cc79304a1e", size = 249287, upload-time = "2025-09-21T20:02:57.784Z" },
|
|
291
|
+
{ url = "https://files.pythonhosted.org/packages/c3/7a/e9a2da6a1fc5d007dd51fca083a663ab930a8c4d149c087732a5dbaa0029/coverage-7.10.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2c8b9a0636f94c43cd3576811e05b89aa9bc2d0a85137affc544ae5cb0e4bfbd", size = 250946, upload-time = "2025-09-21T20:02:59.431Z" },
|
|
292
|
+
{ url = "https://files.pythonhosted.org/packages/ef/5b/0b5799aa30380a949005a353715095d6d1da81927d6dbed5def2200a4e25/coverage-7.10.7-cp314-cp314-win32.whl", hash = "sha256:b7b8288eb7cdd268b0304632da8cb0bb93fadcfec2fe5712f7b9cc8f4d487be2", size = 221009, upload-time = "2025-09-21T20:03:01.324Z" },
|
|
293
|
+
{ url = "https://files.pythonhosted.org/packages/da/b0/e802fbb6eb746de006490abc9bb554b708918b6774b722bb3a0e6aa1b7de/coverage-7.10.7-cp314-cp314-win_amd64.whl", hash = "sha256:1ca6db7c8807fb9e755d0379ccc39017ce0a84dcd26d14b5a03b78563776f681", size = 221804, upload-time = "2025-09-21T20:03:03.4Z" },
|
|
294
|
+
{ url = "https://files.pythonhosted.org/packages/9e/e8/71d0c8e374e31f39e3389bb0bd19e527d46f00ea8571ec7ec8fd261d8b44/coverage-7.10.7-cp314-cp314-win_arm64.whl", hash = "sha256:097c1591f5af4496226d5783d036bf6fd6cd0cbc132e071b33861de756efb880", size = 220384, upload-time = "2025-09-21T20:03:05.111Z" },
|
|
295
|
+
{ url = "https://files.pythonhosted.org/packages/62/09/9a5608d319fa3eba7a2019addeacb8c746fb50872b57a724c9f79f146969/coverage-7.10.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:a62c6ef0d50e6de320c270ff91d9dd0a05e7250cac2a800b7784bae474506e63", size = 219047, upload-time = "2025-09-21T20:03:06.795Z" },
|
|
296
|
+
{ url = "https://files.pythonhosted.org/packages/f5/6f/f58d46f33db9f2e3647b2d0764704548c184e6f5e014bef528b7f979ef84/coverage-7.10.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9fa6e4dd51fe15d8738708a973470f67a855ca50002294852e9571cdbd9433f2", size = 219266, upload-time = "2025-09-21T20:03:08.495Z" },
|
|
297
|
+
{ url = "https://files.pythonhosted.org/packages/74/5c/183ffc817ba68e0b443b8c934c8795553eb0c14573813415bd59941ee165/coverage-7.10.7-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8fb190658865565c549b6b4706856d6a7b09302c797eb2cf8e7fe9dabb043f0d", size = 260767, upload-time = "2025-09-21T20:03:10.172Z" },
|
|
298
|
+
{ url = "https://files.pythonhosted.org/packages/0f/48/71a8abe9c1ad7e97548835e3cc1adbf361e743e9d60310c5f75c9e7bf847/coverage-7.10.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:affef7c76a9ef259187ef31599a9260330e0335a3011732c4b9effa01e1cd6e0", size = 262931, upload-time = "2025-09-21T20:03:11.861Z" },
|
|
299
|
+
{ url = "https://files.pythonhosted.org/packages/84/fd/193a8fb132acfc0a901f72020e54be5e48021e1575bb327d8ee1097a28fd/coverage-7.10.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e16e07d85ca0cf8bafe5f5d23a0b850064e8e945d5677492b06bbe6f09cc699", size = 265186, upload-time = "2025-09-21T20:03:13.539Z" },
|
|
300
|
+
{ url = "https://files.pythonhosted.org/packages/b1/8f/74ecc30607dd95ad50e3034221113ccb1c6d4e8085cc761134782995daae/coverage-7.10.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:03ffc58aacdf65d2a82bbeb1ffe4d01ead4017a21bfd0454983b88ca73af94b9", size = 259470, upload-time = "2025-09-21T20:03:15.584Z" },
|
|
301
|
+
{ url = "https://files.pythonhosted.org/packages/0f/55/79ff53a769f20d71b07023ea115c9167c0bb56f281320520cf64c5298a96/coverage-7.10.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1b4fd784344d4e52647fd7857b2af5b3fbe6c239b0b5fa63e94eb67320770e0f", size = 262626, upload-time = "2025-09-21T20:03:17.673Z" },
|
|
302
|
+
{ url = "https://files.pythonhosted.org/packages/88/e2/dac66c140009b61ac3fc13af673a574b00c16efdf04f9b5c740703e953c0/coverage-7.10.7-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:0ebbaddb2c19b71912c6f2518e791aa8b9f054985a0769bdb3a53ebbc765c6a1", size = 260386, upload-time = "2025-09-21T20:03:19.36Z" },
|
|
303
|
+
{ url = "https://files.pythonhosted.org/packages/a2/f1/f48f645e3f33bb9ca8a496bc4a9671b52f2f353146233ebd7c1df6160440/coverage-7.10.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a2d9a3b260cc1d1dbdb1c582e63ddcf5363426a1a68faa0f5da28d8ee3c722a0", size = 258852, upload-time = "2025-09-21T20:03:21.007Z" },
|
|
304
|
+
{ url = "https://files.pythonhosted.org/packages/bb/3b/8442618972c51a7affeead957995cfa8323c0c9bcf8fa5a027421f720ff4/coverage-7.10.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a3cc8638b2480865eaa3926d192e64ce6c51e3d29c849e09d5b4ad95efae5399", size = 261534, upload-time = "2025-09-21T20:03:23.12Z" },
|
|
305
|
+
{ url = "https://files.pythonhosted.org/packages/b2/dc/101f3fa3a45146db0cb03f5b4376e24c0aac818309da23e2de0c75295a91/coverage-7.10.7-cp314-cp314t-win32.whl", hash = "sha256:67f8c5cbcd3deb7a60b3345dffc89a961a484ed0af1f6f73de91705cc6e31235", size = 221784, upload-time = "2025-09-21T20:03:24.769Z" },
|
|
306
|
+
{ url = "https://files.pythonhosted.org/packages/4c/a1/74c51803fc70a8a40d7346660379e144be772bab4ac7bb6e6b905152345c/coverage-7.10.7-cp314-cp314t-win_amd64.whl", hash = "sha256:e1ed71194ef6dea7ed2d5cb5f7243d4bcd334bfb63e59878519be558078f848d", size = 222905, upload-time = "2025-09-21T20:03:26.93Z" },
|
|
307
|
+
{ url = "https://files.pythonhosted.org/packages/12/65/f116a6d2127df30bcafbceef0302d8a64ba87488bf6f73a6d8eebf060873/coverage-7.10.7-cp314-cp314t-win_arm64.whl", hash = "sha256:7fe650342addd8524ca63d77b2362b02345e5f1a093266787d210c70a50b471a", size = 220922, upload-time = "2025-09-21T20:03:28.672Z" },
|
|
308
|
+
{ url = "https://files.pythonhosted.org/packages/ec/16/114df1c291c22cac3b0c127a73e0af5c12ed7bbb6558d310429a0ae24023/coverage-7.10.7-py3-none-any.whl", hash = "sha256:f7941f6f2fe6dd6807a1208737b8a0cbcf1cc6d7b07d24998ad2d63590868260", size = 209952, upload-time = "2025-09-21T20:03:53.918Z" },
|
|
309
|
+
]
|
|
310
|
+
|
|
237
311
|
[[package]]
|
|
238
312
|
name = "csscompressor"
|
|
239
313
|
version = "0.9.5"
|
|
@@ -375,6 +449,15 @@ wheels = [
|
|
|
375
449
|
{ url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" },
|
|
376
450
|
]
|
|
377
451
|
|
|
452
|
+
[[package]]
|
|
453
|
+
name = "iniconfig"
|
|
454
|
+
version = "2.1.0"
|
|
455
|
+
source = { registry = "https://pypi.org/simple" }
|
|
456
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" }
|
|
457
|
+
wheels = [
|
|
458
|
+
{ url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" },
|
|
459
|
+
]
|
|
460
|
+
|
|
378
461
|
[[package]]
|
|
379
462
|
name = "isort"
|
|
380
463
|
version = "7.0.0"
|
|
@@ -1047,6 +1130,15 @@ wheels = [
|
|
|
1047
1130
|
{ url = "https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl", hash = "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3", size = 18651, upload-time = "2025-10-08T17:44:47.223Z" },
|
|
1048
1131
|
]
|
|
1049
1132
|
|
|
1133
|
+
[[package]]
|
|
1134
|
+
name = "pluggy"
|
|
1135
|
+
version = "1.6.0"
|
|
1136
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1137
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" }
|
|
1138
|
+
wheels = [
|
|
1139
|
+
{ url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" },
|
|
1140
|
+
]
|
|
1141
|
+
|
|
1050
1142
|
[[package]]
|
|
1051
1143
|
name = "pycodestyle"
|
|
1052
1144
|
version = "2.14.0"
|
|
@@ -1058,7 +1150,6 @@ wheels = [
|
|
|
1058
1150
|
|
|
1059
1151
|
[[package]]
|
|
1060
1152
|
name = "pydmoo"
|
|
1061
|
-
version = "0.0.9"
|
|
1062
1153
|
source = { editable = "." }
|
|
1063
1154
|
dependencies = [
|
|
1064
1155
|
{ name = "matplotlib" },
|
|
@@ -1075,10 +1166,14 @@ dependencies = [
|
|
|
1075
1166
|
]
|
|
1076
1167
|
|
|
1077
1168
|
[package.dev-dependencies]
|
|
1169
|
+
all-lint-format = [
|
|
1170
|
+
{ name = "ruff" },
|
|
1171
|
+
]
|
|
1078
1172
|
dev = [
|
|
1079
|
-
{ name = "
|
|
1080
|
-
{ name = "
|
|
1081
|
-
|
|
1173
|
+
{ name = "pytest" },
|
|
1174
|
+
{ name = "pytest-cov" },
|
|
1175
|
+
]
|
|
1176
|
+
docs = [
|
|
1082
1177
|
{ name = "mkdocs" },
|
|
1083
1178
|
{ name = "mkdocs-autorefs" },
|
|
1084
1179
|
{ name = "mkdocs-material" },
|
|
@@ -1086,10 +1181,18 @@ dev = [
|
|
|
1086
1181
|
{ name = "mkdocs-minify-plugin" },
|
|
1087
1182
|
{ name = "mkdocs-redirects" },
|
|
1088
1183
|
{ name = "mkdocstrings", extra = ["python"] },
|
|
1089
|
-
|
|
1184
|
+
]
|
|
1185
|
+
format = [
|
|
1186
|
+
{ name = "black" },
|
|
1187
|
+
{ name = "isort" },
|
|
1188
|
+
]
|
|
1189
|
+
lint = [
|
|
1190
|
+
{ name = "flake8" },
|
|
1090
1191
|
{ name = "pycodestyle" },
|
|
1091
1192
|
{ name = "pydocstyle" },
|
|
1092
|
-
|
|
1193
|
+
]
|
|
1194
|
+
type = [
|
|
1195
|
+
{ name = "mypy" },
|
|
1093
1196
|
]
|
|
1094
1197
|
|
|
1095
1198
|
[package.metadata]
|
|
@@ -1108,10 +1211,12 @@ requires-dist = [
|
|
|
1108
1211
|
]
|
|
1109
1212
|
|
|
1110
1213
|
[package.metadata.requires-dev]
|
|
1214
|
+
all-lint-format = [{ name = "ruff", specifier = ">=0.14.0" }]
|
|
1111
1215
|
dev = [
|
|
1112
|
-
{ name = "
|
|
1113
|
-
{ name = "
|
|
1114
|
-
|
|
1216
|
+
{ name = "pytest", specifier = ">=8.4.2" },
|
|
1217
|
+
{ name = "pytest-cov", specifier = ">=7.0.0" },
|
|
1218
|
+
]
|
|
1219
|
+
docs = [
|
|
1115
1220
|
{ name = "mkdocs", specifier = ">=1.6.1" },
|
|
1116
1221
|
{ name = "mkdocs-autorefs", specifier = ">=1.4.3" },
|
|
1117
1222
|
{ name = "mkdocs-material", specifier = ">=9.6.21" },
|
|
@@ -1119,11 +1224,17 @@ dev = [
|
|
|
1119
1224
|
{ name = "mkdocs-minify-plugin", specifier = ">=0.8.0" },
|
|
1120
1225
|
{ name = "mkdocs-redirects", specifier = ">=1.2.2" },
|
|
1121
1226
|
{ name = "mkdocstrings", extras = ["python"], specifier = ">=0.30.1" },
|
|
1122
|
-
|
|
1227
|
+
]
|
|
1228
|
+
format = [
|
|
1229
|
+
{ name = "black", specifier = ">=25.9.0" },
|
|
1230
|
+
{ name = "isort", specifier = ">=6.1.0" },
|
|
1231
|
+
]
|
|
1232
|
+
lint = [
|
|
1233
|
+
{ name = "flake8", specifier = ">=7.3.0" },
|
|
1123
1234
|
{ name = "pycodestyle", specifier = ">=2.14.0" },
|
|
1124
1235
|
{ name = "pydocstyle", specifier = ">=6.3.0" },
|
|
1125
|
-
{ name = "ruff", specifier = ">=0.14.0" },
|
|
1126
1236
|
]
|
|
1237
|
+
type = [{ name = "mypy", specifier = ">=1.18.2" }]
|
|
1127
1238
|
|
|
1128
1239
|
[[package]]
|
|
1129
1240
|
name = "pydocstyle"
|
|
@@ -1205,6 +1316,36 @@ wheels = [
|
|
|
1205
1316
|
{ url = "https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl", hash = "sha256:e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e", size = 113890, upload-time = "2025-09-21T04:11:04.117Z" },
|
|
1206
1317
|
]
|
|
1207
1318
|
|
|
1319
|
+
[[package]]
|
|
1320
|
+
name = "pytest"
|
|
1321
|
+
version = "8.4.2"
|
|
1322
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1323
|
+
dependencies = [
|
|
1324
|
+
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
|
1325
|
+
{ name = "iniconfig" },
|
|
1326
|
+
{ name = "packaging" },
|
|
1327
|
+
{ name = "pluggy" },
|
|
1328
|
+
{ name = "pygments" },
|
|
1329
|
+
]
|
|
1330
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" }
|
|
1331
|
+
wheels = [
|
|
1332
|
+
{ url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750, upload-time = "2025-09-04T14:34:20.226Z" },
|
|
1333
|
+
]
|
|
1334
|
+
|
|
1335
|
+
[[package]]
|
|
1336
|
+
name = "pytest-cov"
|
|
1337
|
+
version = "7.0.0"
|
|
1338
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1339
|
+
dependencies = [
|
|
1340
|
+
{ name = "coverage" },
|
|
1341
|
+
{ name = "pluggy" },
|
|
1342
|
+
{ name = "pytest" },
|
|
1343
|
+
]
|
|
1344
|
+
sdist = { url = "https://files.pythonhosted.org/packages/5e/f7/c933acc76f5208b3b00089573cf6a2bc26dc80a8aece8f52bb7d6b1855ca/pytest_cov-7.0.0.tar.gz", hash = "sha256:33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1", size = 54328, upload-time = "2025-09-09T10:57:02.113Z" }
|
|
1345
|
+
wheels = [
|
|
1346
|
+
{ url = "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl", hash = "sha256:3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861", size = 22424, upload-time = "2025-09-09T10:57:00.695Z" },
|
|
1347
|
+
]
|
|
1348
|
+
|
|
1208
1349
|
[[package]]
|
|
1209
1350
|
name = "python-dateutil"
|
|
1210
1351
|
version = "2.9.0.post0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|