nextmv 0.36.0__py3-none-any.whl → 0.36.1.dev0__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.
- nextmv/__about__.py +1 -1
- nextmv/cloud/batch_experiment.py +1 -1
- nextmv/cloud/instance.py +28 -0
- nextmv/cloud/package.py +5 -0
- nextmv/local/executor.py +2 -0
- nextmv/manifest.py +2 -0
- nextmv/run.py +25 -2
- {nextmv-0.36.0.dist-info → nextmv-0.36.1.dev0.dist-info}/METADATA +1 -1
- {nextmv-0.36.0.dist-info → nextmv-0.36.1.dev0.dist-info}/RECORD +11 -11
- {nextmv-0.36.0.dist-info → nextmv-0.36.1.dev0.dist-info}/WHEEL +1 -1
- {nextmv-0.36.0.dist-info → nextmv-0.36.1.dev0.dist-info}/licenses/LICENSE +0 -0
nextmv/__about__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "v0.36.0"
|
|
1
|
+
__version__ = "v0.36.1-dev.0"
|
nextmv/cloud/batch_experiment.py
CHANGED
|
@@ -257,7 +257,7 @@ class BatchExperimentRun(BaseModel):
|
|
|
257
257
|
repetition: int | None = None
|
|
258
258
|
"""Repetition number of the experiment."""
|
|
259
259
|
|
|
260
|
-
def
|
|
260
|
+
def model_post_init(self, __context) -> None:
|
|
261
261
|
"""
|
|
262
262
|
Logic to run after the class is initialized.
|
|
263
263
|
|
nextmv/cloud/instance.py
CHANGED
|
@@ -15,6 +15,7 @@ Instance
|
|
|
15
15
|
from datetime import datetime
|
|
16
16
|
|
|
17
17
|
from nextmv.base_model import BaseModel
|
|
18
|
+
from nextmv.run import RunQueuing
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
class InstanceConfiguration(BaseModel):
|
|
@@ -37,6 +38,10 @@ class InstanceConfiguration(BaseModel):
|
|
|
37
38
|
Runtime options/parameters for the application.
|
|
38
39
|
secrets_collection_id : str, optional
|
|
39
40
|
ID of the secrets collection to use with this instance.
|
|
41
|
+
queuing : RunQueuing, optional
|
|
42
|
+
Queuing configuration for the instance.
|
|
43
|
+
integration_id : str, optional
|
|
44
|
+
ID of the integration to use for the instance.
|
|
40
45
|
|
|
41
46
|
Examples
|
|
42
47
|
--------
|
|
@@ -53,6 +58,29 @@ class InstanceConfiguration(BaseModel):
|
|
|
53
58
|
"""Options of the app that the instance uses."""
|
|
54
59
|
secrets_collection_id: str | None = None
|
|
55
60
|
"""ID of the secrets collection that the instance uses."""
|
|
61
|
+
queuing: RunQueuing | None = None
|
|
62
|
+
"""Queuing configuration for the instance."""
|
|
63
|
+
integration_id: str | None = None
|
|
64
|
+
"""ID of the integration to use for the instance."""
|
|
65
|
+
|
|
66
|
+
def model_post_init(self, __context) -> None:
|
|
67
|
+
"""
|
|
68
|
+
Validations done after parsing the model.
|
|
69
|
+
|
|
70
|
+
Raises
|
|
71
|
+
------
|
|
72
|
+
ValueError
|
|
73
|
+
If execution_class is an empty string.
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
if self.integration_id is None or self.integration_id == "":
|
|
77
|
+
return
|
|
78
|
+
|
|
79
|
+
integration_val = "integration"
|
|
80
|
+
if self.execution_class is not None and self.execution_class != "" and self.execution_class != integration_val:
|
|
81
|
+
raise ValueError(f"When integration_id is set, execution_class must be `{integration_val}` or None.")
|
|
82
|
+
|
|
83
|
+
self.execution_class = integration_val
|
|
56
84
|
|
|
57
85
|
|
|
58
86
|
class Instance(BaseModel):
|
nextmv/cloud/package.py
CHANGED
|
@@ -16,6 +16,7 @@ from nextmv.model import Model, ModelConfiguration, _cleanup_python_model
|
|
|
16
16
|
_MANDATORY_FILES_PER_TYPE = {
|
|
17
17
|
ManifestType.PYTHON: ["main.py"],
|
|
18
18
|
ManifestType.GO: ["main"],
|
|
19
|
+
ManifestType.BINARY: ["main"],
|
|
19
20
|
ManifestType.JAVA: ["main.jar"],
|
|
20
21
|
}
|
|
21
22
|
|
|
@@ -277,7 +278,9 @@ def __install_dependencies( # noqa: C901 # complexity
|
|
|
277
278
|
"--platform=manylinux2014_aarch64",
|
|
278
279
|
"--platform=manylinux_2_17_aarch64",
|
|
279
280
|
"--platform=manylinux_2_24_aarch64",
|
|
281
|
+
"--platform=manylinux_2_26_aarch64",
|
|
280
282
|
"--platform=manylinux_2_28_aarch64",
|
|
283
|
+
"--platform=manylinux_2_34_aarch64",
|
|
281
284
|
"--platform=linux_aarch64",
|
|
282
285
|
]
|
|
283
286
|
)
|
|
@@ -287,7 +290,9 @@ def __install_dependencies( # noqa: C901 # complexity
|
|
|
287
290
|
"--platform=manylinux2014_x86_64",
|
|
288
291
|
"--platform=manylinux_2_17_x86_64",
|
|
289
292
|
"--platform=manylinux_2_24_x86_64",
|
|
293
|
+
"--platform=manylinux_2_26_x86_64",
|
|
290
294
|
"--platform=manylinux_2_28_x86_64",
|
|
295
|
+
"--platform=manylinux_2_34_x86_64",
|
|
291
296
|
"--platform=linux_x86_64",
|
|
292
297
|
]
|
|
293
298
|
)
|
nextmv/local/executor.py
CHANGED
|
@@ -1017,6 +1017,8 @@ def __determine_entrypoint(manifest: Manifest) -> str:
|
|
|
1017
1017
|
return "./main.py"
|
|
1018
1018
|
elif manifest.type == ManifestType.GO:
|
|
1019
1019
|
return "./main"
|
|
1020
|
+
elif manifest.type == ManifestType.BINARY:
|
|
1021
|
+
return "./main"
|
|
1020
1022
|
elif manifest.type == ManifestType.JAVA:
|
|
1021
1023
|
return "./main.jar"
|
|
1022
1024
|
else:
|
nextmv/manifest.py
CHANGED
nextmv/run.py
CHANGED
|
@@ -1081,7 +1081,7 @@ class RunQueuing(BaseModel):
|
|
|
1081
1081
|
queued. If False, the run will be queued.
|
|
1082
1082
|
"""
|
|
1083
1083
|
|
|
1084
|
-
def
|
|
1084
|
+
def model_post_init(self, __context) -> None:
|
|
1085
1085
|
"""
|
|
1086
1086
|
Validations done after parsing the model.
|
|
1087
1087
|
|
|
@@ -1121,6 +1121,8 @@ class RunConfiguration(BaseModel):
|
|
|
1121
1121
|
ID of the secrets collection to use for the run. Defaults to None.
|
|
1122
1122
|
queuing : RunQueuing, optional
|
|
1123
1123
|
Queuing configuration for the run. Defaults to None.
|
|
1124
|
+
integration_id : str, optional
|
|
1125
|
+
ID of the integration to use for the run. Defaults to None.
|
|
1124
1126
|
|
|
1125
1127
|
Examples
|
|
1126
1128
|
--------
|
|
@@ -1150,6 +1152,27 @@ class RunConfiguration(BaseModel):
|
|
|
1150
1152
|
"""ID of the secrets collection to use for the run."""
|
|
1151
1153
|
queuing: RunQueuing | None = None
|
|
1152
1154
|
"""Queuing configuration for the run."""
|
|
1155
|
+
integration_id: str | None = None
|
|
1156
|
+
"""ID of the integration to use for the run."""
|
|
1157
|
+
|
|
1158
|
+
def model_post_init(self, __context) -> None:
|
|
1159
|
+
"""
|
|
1160
|
+
Validations done after parsing the model.
|
|
1161
|
+
|
|
1162
|
+
Raises
|
|
1163
|
+
------
|
|
1164
|
+
ValueError
|
|
1165
|
+
If execution_class is an empty string.
|
|
1166
|
+
"""
|
|
1167
|
+
|
|
1168
|
+
if self.integration_id is None or self.integration_id == "":
|
|
1169
|
+
return
|
|
1170
|
+
|
|
1171
|
+
integration_val = "integration"
|
|
1172
|
+
if self.execution_class is not None and self.execution_class != "" and self.execution_class != integration_val:
|
|
1173
|
+
raise ValueError(f"When integration_id is set, execution_class must be `{integration_val}` or None.")
|
|
1174
|
+
|
|
1175
|
+
self.execution_class = integration_val
|
|
1153
1176
|
|
|
1154
1177
|
def resolve(
|
|
1155
1178
|
self,
|
|
@@ -1292,7 +1315,7 @@ class ExternalRunResult(BaseModel):
|
|
|
1292
1315
|
or `MULTI_FILE` output formats.
|
|
1293
1316
|
"""
|
|
1294
1317
|
|
|
1295
|
-
def
|
|
1318
|
+
def model_post_init(self, __context) -> None:
|
|
1296
1319
|
"""
|
|
1297
1320
|
Validations done after parsing the model.
|
|
1298
1321
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
nextmv/__about__.py,sha256=
|
|
1
|
+
nextmv/__about__.py,sha256=Nh_X8wPrV5KEw8PjC4o_QnZGRKpoVUE2ulupH9yXOqM,30
|
|
2
2
|
nextmv/__entrypoint__.py,sha256=dA0iwwHtrq6Z9w9FxmxKLoBGLyhe7jWtUAU-Y3PEgHg,1094
|
|
3
3
|
nextmv/__init__.py,sha256=mC-gAzCdoZJ0BOVe2fDzKNdBtbXzx8XOxHP_7DdPMdQ,3857
|
|
4
4
|
nextmv/_serialization.py,sha256=jYitMS1MU8ldsmObT-K_8V8P2Wx69tnDiEHCCgPGun4,2834
|
|
@@ -6,24 +6,24 @@ nextmv/base_model.py,sha256=kPFqE-c_3LcEy8fY0qDrJk_gbPYgSKtetRMby71oxE8,2298
|
|
|
6
6
|
nextmv/deprecated.py,sha256=kEVfyQ-nT0v2ePXTNldjQG9uH5IlfQVy3L4tztIxwmU,1638
|
|
7
7
|
nextmv/input.py,sha256=XRjINb438rnjvQwjCXVOJ0UPa-xTnZc9xBYt0NLhjGw,39970
|
|
8
8
|
nextmv/logger.py,sha256=kNIbu46MisrzYe4T0hNMpWfRTKKacDVvbtQcNys_c_E,2513
|
|
9
|
-
nextmv/manifest.py,sha256=
|
|
9
|
+
nextmv/manifest.py,sha256=v9En9zMZVKZn6G_HThoKUZowMtZr5hxzwWiK9wkVHPU,49023
|
|
10
10
|
nextmv/model.py,sha256=b323uAjr-eeChrIPLg4a8bnqOaoc12DQrQBnIPybd0k,14993
|
|
11
11
|
nextmv/options.py,sha256=rfQV0F5_it-L27wjqrs902wr4Q7sgSN7dw5o0c5sdEg,37842
|
|
12
12
|
nextmv/output.py,sha256=oqCnBvcYOZlvPSoX4trQ3EJR6GpE-4d0d7NDIq5hgL0,56008
|
|
13
13
|
nextmv/polling.py,sha256=Mka7tChVR7Ws-Hg9W-Yzo7wthhVg-Qp-FK54E70Fzdw,9711
|
|
14
|
-
nextmv/run.py,sha256=
|
|
14
|
+
nextmv/run.py,sha256=qeT3a0eqVHKvbQiFxmX_2epaj-rz2GyfpdZJ4ROFC4U,53135
|
|
15
15
|
nextmv/safe.py,sha256=VAK4fGEurbLNji4Pg5Okga5XQSbI4aI9JJf95_68Z20,3867
|
|
16
16
|
nextmv/status.py,sha256=SCDLhh2om3yeO5FxO0x-_RShQsZNXEpjHNdCGdb3VUI,2787
|
|
17
17
|
nextmv/cloud/__init__.py,sha256=2wI72lhWq81BYv1OpS0OOTT5-3sivpX0H4z5ANPoLMc,5051
|
|
18
18
|
nextmv/cloud/acceptance_test.py,sha256=fZdp4O6pZrl7TaiUrTFPp7O4VJt-4R_W2yo4s8UAS5I,27691
|
|
19
19
|
nextmv/cloud/account.py,sha256=jIdGNyI3l3dVh2PuriAwAOrEuWRM150WgzxcBMVBNRw,6058
|
|
20
20
|
nextmv/cloud/application.py,sha256=29Tr7jWwa369ejkgFX3VXU_G3VK-2ATyL6Ma5tGXfAg,139592
|
|
21
|
-
nextmv/cloud/batch_experiment.py,sha256=
|
|
21
|
+
nextmv/cloud/batch_experiment.py,sha256=VmKgjBW6BpkH4loO0afMGNXrwJ5whhijQ99pm94vBto,10349
|
|
22
22
|
nextmv/cloud/client.py,sha256=Yj4FE4GKsLHkYijAYXcotlyNfhAWANMuWetHXsYPg1M,18101
|
|
23
23
|
nextmv/cloud/ensemble.py,sha256=_hKPjSLtuGH1xGG70ZBsmY_IL5XinZqVHHwBxtX9Omw,8570
|
|
24
24
|
nextmv/cloud/input_set.py,sha256=wsLmMI1C7BslWDN5j1RnVUA8z54-Hq1eLG9bkzyqafo,4187
|
|
25
|
-
nextmv/cloud/instance.py,sha256=
|
|
26
|
-
nextmv/cloud/package.py,sha256=
|
|
25
|
+
nextmv/cloud/instance.py,sha256=kGhPefvN0AZBM4ZnrR8oknbqU_y4fk2isPY8hNaYew8,5015
|
|
26
|
+
nextmv/cloud/package.py,sha256=f7ey70jv6gd4B6EdlhQKKM1nGtfMGgL8kmrTLPP2saY,15468
|
|
27
27
|
nextmv/cloud/scenario.py,sha256=1_4PI9ehYaSonEe_l59cFhZNmqQ_brXXP6-mVq9i8a8,14183
|
|
28
28
|
nextmv/cloud/secrets.py,sha256=fA5cX0jfTsPVZWV7433wzETGlXpWRLHGswuObx9e6FQ,6820
|
|
29
29
|
nextmv/cloud/url.py,sha256=Fz70ywkWdCLmP21ZBmJwZi5kDbjpmsX_VlwVF_xQeHg,1836
|
|
@@ -38,12 +38,12 @@ nextmv/default_app/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
|
|
|
38
38
|
nextmv/default_app/src/visuals.py,sha256=WYK_YBnLmYo3TpVev1CpoNCuW5R7hk9QIkeCmvMn1Fs,1014
|
|
39
39
|
nextmv/local/__init__.py,sha256=6BsoqlK4dw6X11_uKzz9gBPfxKpdiol2FYO8R3X73SE,116
|
|
40
40
|
nextmv/local/application.py,sha256=RtqKR3yRI2GFn_RLyaRZMWZW30BuYllLdAY2OsPL7Xc,48245
|
|
41
|
-
nextmv/local/executor.py,sha256=
|
|
41
|
+
nextmv/local/executor.py,sha256=1qoynUCB9UDgXhjXKds0OGc8McAtAsQHJ0-QVWTJrQs,36562
|
|
42
42
|
nextmv/local/geojson_handler.py,sha256=7FavJdkUonop-yskjis0x3qFGB8A5wZyoBUblw-bVhw,12540
|
|
43
43
|
nextmv/local/local.py,sha256=cp56UpI8h19Ob6Jvb_Ni0ceXH5Vv3ET_iPTDe6ftq3Y,2617
|
|
44
44
|
nextmv/local/plotly_handler.py,sha256=bLb50e3AkVr_W-F6S7lXfeRdN60mG2jk3UElNmhoMWU,1930
|
|
45
45
|
nextmv/local/runner.py,sha256=Fa-G4g5yaBgLeBfYU-ePs65Q3Ses_xYvXGhPtHpAkrU,8546
|
|
46
|
-
nextmv-0.36.
|
|
47
|
-
nextmv-0.36.
|
|
48
|
-
nextmv-0.36.
|
|
49
|
-
nextmv-0.36.
|
|
46
|
+
nextmv-0.36.1.dev0.dist-info/METADATA,sha256=2iNvI67UmRYSzNIjHhoTqIA70n5vofqBaU8aHs8ODwI,15965
|
|
47
|
+
nextmv-0.36.1.dev0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
48
|
+
nextmv-0.36.1.dev0.dist-info/licenses/LICENSE,sha256=ZIbK-sSWA-OZprjNbmJAglYRtl5_K4l9UwAV3PGJAPc,11349
|
|
49
|
+
nextmv-0.36.1.dev0.dist-info/RECORD,,
|
|
File without changes
|