nextmv 1.0.0.dev5__py3-none-any.whl → 1.0.0.dev6__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/_serialization.py +1 -1
- nextmv/cli/cloud/acceptance/create.py +12 -12
- nextmv/cli/cloud/app/push.py +15 -15
- nextmv/cli/cloud/input_set/__init__.py +2 -0
- nextmv/cli/cloud/input_set/delete.py +67 -0
- nextmv/cli/cloud/run/create.py +4 -9
- nextmv/cli/cloud/shadow/stop.py +14 -2
- nextmv/cli/cloud/switchback/stop.py +14 -2
- nextmv/cli/community/clone.py +11 -197
- nextmv/cli/community/list.py +46 -116
- nextmv/cloud/__init__.py +4 -0
- nextmv/cloud/application/__init__.py +1 -200
- nextmv/cloud/application/_input_set.py +42 -6
- nextmv/cloud/application/_run.py +1 -8
- nextmv/cloud/application/_shadow.py +9 -3
- nextmv/cloud/application/_switchback.py +10 -1
- nextmv/cloud/batch_experiment.py +3 -1
- nextmv/cloud/client.py +1 -1
- nextmv/cloud/community.py +441 -0
- nextmv/cloud/shadow.py +25 -0
- nextmv/default_app/main.py +6 -4
- nextmv/local/executor.py +3 -83
- nextmv/local/geojson_handler.py +1 -1
- nextmv/manifest.py +7 -11
- nextmv/model.py +2 -2
- nextmv/options.py +1 -1
- nextmv/output.py +21 -57
- nextmv/run.py +3 -12
- {nextmv-1.0.0.dev5.dist-info → nextmv-1.0.0.dev6.dist-info}/METADATA +3 -1
- {nextmv-1.0.0.dev5.dist-info → nextmv-1.0.0.dev6.dist-info}/RECORD +34 -32
- {nextmv-1.0.0.dev5.dist-info → nextmv-1.0.0.dev6.dist-info}/WHEEL +0 -0
- {nextmv-1.0.0.dev5.dist-info → nextmv-1.0.0.dev6.dist-info}/entry_points.txt +0 -0
- {nextmv-1.0.0.dev5.dist-info → nextmv-1.0.0.dev6.dist-info}/licenses/LICENSE +0 -0
nextmv/manifest.py
CHANGED
|
@@ -829,9 +829,7 @@ class ManifestContentMultiFileOutput(BaseModel):
|
|
|
829
829
|
Parameters
|
|
830
830
|
----------
|
|
831
831
|
statistics : Optional[str], default=""
|
|
832
|
-
|
|
833
|
-
metrics : Optional[str], default=""
|
|
834
|
-
The path to the metrics file.
|
|
832
|
+
The path to the statistics file.
|
|
835
833
|
assets : Optional[str], default=""
|
|
836
834
|
The path to the assets file.
|
|
837
835
|
solutions : Optional[str], default=""
|
|
@@ -841,18 +839,16 @@ class ManifestContentMultiFileOutput(BaseModel):
|
|
|
841
839
|
--------
|
|
842
840
|
>>> from nextmv import ManifestContentMultiFileOutput
|
|
843
841
|
>>> output_config = ManifestContentMultiFileOutput(
|
|
844
|
-
...
|
|
842
|
+
... statistics="my-outputs/statistics.json",
|
|
845
843
|
... assets="my-outputs/assets.json",
|
|
846
844
|
... solutions="my-outputs/solutions/"
|
|
847
845
|
... )
|
|
848
|
-
>>> output_config.
|
|
849
|
-
'my-outputs/
|
|
846
|
+
>>> output_config.statistics
|
|
847
|
+
'my-outputs/statistics.json'
|
|
850
848
|
"""
|
|
851
849
|
|
|
852
850
|
statistics: str | None = ""
|
|
853
|
-
"""
|
|
854
|
-
metrics: str | None = ""
|
|
855
|
-
"""The path to the metrics file."""
|
|
851
|
+
"""The path to the statistics file."""
|
|
856
852
|
assets: str | None = ""
|
|
857
853
|
"""The path to the assets file."""
|
|
858
854
|
solutions: str | None = ""
|
|
@@ -882,7 +878,7 @@ class ManifestContentMultiFile(BaseModel):
|
|
|
882
878
|
>>> multi_file_config = ManifestContentMultiFile(
|
|
883
879
|
... input=ManifestContentMultiFileInput(path="data/input/"),
|
|
884
880
|
... output=ManifestContentMultiFileOutput(
|
|
885
|
-
...
|
|
881
|
+
... statistics="my-outputs/statistics.json",
|
|
886
882
|
... assets="my-outputs/assets.json",
|
|
887
883
|
... solutions="my-outputs/solutions/"
|
|
888
884
|
... )
|
|
@@ -923,7 +919,7 @@ class ManifestContent(BaseModel):
|
|
|
923
919
|
... multi_file=ManifestContentMultiFile(
|
|
924
920
|
... input=ManifestContentMultiFileInput(path="data/input/"),
|
|
925
921
|
... output=ManifestContentMultiFileOutput(
|
|
926
|
-
...
|
|
922
|
+
... statistics="my-outputs/statistics.json",
|
|
927
923
|
... assets="my-outputs/assets.json",
|
|
928
924
|
... solutions="my-outputs/solutions/"
|
|
929
925
|
... )
|
nextmv/model.py
CHANGED
|
@@ -195,7 +195,7 @@ class Model:
|
|
|
195
195
|
... return nextmv.Output(
|
|
196
196
|
... options=input.options,
|
|
197
197
|
... solution=nextroute_output.solutions[0].to_dict(),
|
|
198
|
-
...
|
|
198
|
+
... statistics=nextroute_output.statistics.to_dict(),
|
|
199
199
|
... )
|
|
200
200
|
"""
|
|
201
201
|
|
|
@@ -234,7 +234,7 @@ class Model:
|
|
|
234
234
|
... return Output(
|
|
235
235
|
... options=input.options,
|
|
236
236
|
... solution=result,
|
|
237
|
-
...
|
|
237
|
+
... statistics={"processing_time": 0.5}
|
|
238
238
|
... )
|
|
239
239
|
"""
|
|
240
240
|
|
nextmv/options.py
CHANGED
nextmv/output.py
CHANGED
|
@@ -8,9 +8,9 @@ destinations.
|
|
|
8
8
|
Classes
|
|
9
9
|
-------
|
|
10
10
|
RunStatistics
|
|
11
|
-
|
|
11
|
+
Statistics about a general run.
|
|
12
12
|
ResultStatistics
|
|
13
|
-
|
|
13
|
+
Statistics about a specific result.
|
|
14
14
|
DataPoint
|
|
15
15
|
A data point representing a 2D coordinate.
|
|
16
16
|
Series
|
|
@@ -18,10 +18,7 @@ Series
|
|
|
18
18
|
SeriesData
|
|
19
19
|
Data container for multiple series of data points.
|
|
20
20
|
Statistics
|
|
21
|
-
|
|
22
|
-
solution, including run metrics and result data.
|
|
23
|
-
Metrics
|
|
24
|
-
Metrics container for a solution.
|
|
21
|
+
Complete statistics container for a solution, including run metrics and result data.
|
|
25
22
|
OutputFormat
|
|
26
23
|
Enumeration of supported output formats.
|
|
27
24
|
SolutionFile
|
|
@@ -49,9 +46,7 @@ Attributes
|
|
|
49
46
|
ASSETS_KEY : str
|
|
50
47
|
Assets key constant used for identifying assets in the run output.
|
|
51
48
|
STATISTICS_KEY : str
|
|
52
|
-
|
|
53
|
-
METRICS_KEY : str
|
|
54
|
-
Metrics key constant used for identifying metrics in the run output.
|
|
49
|
+
Statistics key constant used for identifying statistics in the run output.
|
|
55
50
|
SOLUTIONS_KEY : str
|
|
56
51
|
Solutions key constant used for identifying solutions in the run output.
|
|
57
52
|
OUTPUTS_KEY : str
|
|
@@ -80,11 +75,7 @@ Assets key constant used for identifying assets in the run output.
|
|
|
80
75
|
"""
|
|
81
76
|
STATISTICS_KEY = "statistics"
|
|
82
77
|
"""
|
|
83
|
-
|
|
84
|
-
"""
|
|
85
|
-
METRICS_KEY = "metrics"
|
|
86
|
-
"""
|
|
87
|
-
Metrics key constant used for identifying metrics in the run output.
|
|
78
|
+
Statistics key constant used for identifying statistics in the run output.
|
|
88
79
|
"""
|
|
89
80
|
SOLUTIONS_KEY = "solutions"
|
|
90
81
|
"""
|
|
@@ -98,7 +89,7 @@ Outputs key constant used for identifying outputs in the run output.
|
|
|
98
89
|
|
|
99
90
|
class RunStatistics(BaseModel):
|
|
100
91
|
"""
|
|
101
|
-
|
|
92
|
+
Statistics about a general run.
|
|
102
93
|
|
|
103
94
|
You can import the `RunStatistics` class directly from `nextmv`:
|
|
104
95
|
|
|
@@ -138,7 +129,7 @@ class RunStatistics(BaseModel):
|
|
|
138
129
|
|
|
139
130
|
class ResultStatistics(BaseModel):
|
|
140
131
|
"""
|
|
141
|
-
|
|
132
|
+
Statistics about a specific result.
|
|
142
133
|
|
|
143
134
|
You can import the `ResultStatistics` class directly from `nextmv`:
|
|
144
135
|
|
|
@@ -178,7 +169,7 @@ class ResultStatistics(BaseModel):
|
|
|
178
169
|
|
|
179
170
|
class DataPoint(BaseModel):
|
|
180
171
|
"""
|
|
181
|
-
|
|
172
|
+
A data point representing a 2D coordinate.
|
|
182
173
|
|
|
183
174
|
You can import the `DataPoint` class directly from `nextmv`:
|
|
184
175
|
|
|
@@ -211,7 +202,7 @@ class DataPoint(BaseModel):
|
|
|
211
202
|
|
|
212
203
|
class Series(BaseModel):
|
|
213
204
|
"""
|
|
214
|
-
|
|
205
|
+
A series of data points for visualization or analysis.
|
|
215
206
|
|
|
216
207
|
You can import the `Series` class directly from `nextmv`:
|
|
217
208
|
|
|
@@ -245,7 +236,7 @@ class Series(BaseModel):
|
|
|
245
236
|
|
|
246
237
|
class SeriesData(BaseModel):
|
|
247
238
|
"""
|
|
248
|
-
|
|
239
|
+
Data container for multiple series of data points.
|
|
249
240
|
|
|
250
241
|
You can import the `SeriesData` class directly from `nextmv`:
|
|
251
242
|
|
|
@@ -280,9 +271,6 @@ class SeriesData(BaseModel):
|
|
|
280
271
|
|
|
281
272
|
class Statistics(BaseModel):
|
|
282
273
|
"""
|
|
283
|
-
!!! warning
|
|
284
|
-
`Statistics` is deprecated, use `Metrics` instead.
|
|
285
|
-
|
|
286
274
|
Complete statistics container for a solution, including run metrics and
|
|
287
275
|
result data.
|
|
288
276
|
|
|
@@ -889,9 +877,7 @@ class Output:
|
|
|
889
877
|
The solution to the decision problem. The type must match the
|
|
890
878
|
`output_format`. Default is None.
|
|
891
879
|
statistics : Optional[Union[Statistics, dict[str, Any]]], optional
|
|
892
|
-
|
|
893
|
-
metrics : Optional[dict[str, Any]], optional
|
|
894
|
-
Metrics of the solution. Default is None.
|
|
880
|
+
Statistics of the solution. Default is None.
|
|
895
881
|
csv_configurations : Optional[dict[str, Any]], optional
|
|
896
882
|
Configuration for writing CSV files. Default is None.
|
|
897
883
|
json_configurations : Optional[dict[str, Any]], optional
|
|
@@ -930,16 +916,17 @@ class Output:
|
|
|
930
916
|
Examples
|
|
931
917
|
--------
|
|
932
918
|
>>> from nextmv.output import Output, OutputFormat, Statistics, RunStatistics
|
|
933
|
-
>>>
|
|
919
|
+
>>> run_stats = RunStatistics(duration=30.0, iterations=100)
|
|
920
|
+
>>> stats = Statistics(run=run_stats)
|
|
934
921
|
>>> solution = {"routes": [{"vehicle": 1, "stops": [1, 2, 3]}, {"vehicle": 2, "stops": [4, 5]}]}
|
|
935
922
|
>>> output = Output(
|
|
936
923
|
... output_format=OutputFormat.JSON,
|
|
937
924
|
... solution=solution,
|
|
938
|
-
...
|
|
925
|
+
... statistics=stats,
|
|
939
926
|
... json_configurations={"indent": 4}
|
|
940
927
|
... )
|
|
941
928
|
>>> output_dict = output.to_dict()
|
|
942
|
-
>>> "solution" in output_dict and "
|
|
929
|
+
>>> "solution" in output_dict and "statistics" in output_dict
|
|
943
930
|
True
|
|
944
931
|
"""
|
|
945
932
|
|
|
@@ -982,16 +969,11 @@ class Output:
|
|
|
982
969
|
"""
|
|
983
970
|
statistics: Statistics | dict[str, Any] | None = None
|
|
984
971
|
"""
|
|
985
|
-
Deprecated: Use Metrics instead.
|
|
986
972
|
Statistics of the solution. These statistics can be of type `Statistics` or a
|
|
987
973
|
simple dictionary. If the statistics are of type `Statistics`, they will be
|
|
988
974
|
serialized to a dictionary using the `to_dict` method. If they are a
|
|
989
|
-
dictionary, they will be used as is.
|
|
990
|
-
|
|
991
|
-
metrics: dict[str, Any] | None = None
|
|
992
|
-
"""
|
|
993
|
-
Metrics of the solution. These metrics should be provided as a simple or
|
|
994
|
-
nested dictionary.
|
|
975
|
+
dictionary, they will be used as is. If the statistics are not provided, an
|
|
976
|
+
empty dictionary will be used.
|
|
995
977
|
"""
|
|
996
978
|
csv_configurations: dict[str, Any] | None = None
|
|
997
979
|
"""
|
|
@@ -1106,7 +1088,7 @@ class Output:
|
|
|
1106
1088
|
# Statistics need to end up as a dict, so we achieve that based on the
|
|
1107
1089
|
# type of statistics that were used to create the class.
|
|
1108
1090
|
if self.statistics is None:
|
|
1109
|
-
statistics =
|
|
1091
|
+
statistics = {}
|
|
1110
1092
|
elif isinstance(self.statistics, Statistics):
|
|
1111
1093
|
statistics = self.statistics.to_dict()
|
|
1112
1094
|
elif isinstance(self.statistics, dict):
|
|
@@ -1116,18 +1098,6 @@ class Output:
|
|
|
1116
1098
|
f"unsupported statistics type: {type(self.statistics)}, supported types are `Statistics` or `dict`"
|
|
1117
1099
|
)
|
|
1118
1100
|
|
|
1119
|
-
if self.metrics is None:
|
|
1120
|
-
metrics = None
|
|
1121
|
-
elif isinstance(self.metrics, dict):
|
|
1122
|
-
metrics = self.metrics
|
|
1123
|
-
else:
|
|
1124
|
-
raise TypeError(f"unsupported metrics type: {type(self.metrics)}, supported type is `dict`")
|
|
1125
|
-
|
|
1126
|
-
# if both metrics and statistics are None, set statistics to an
|
|
1127
|
-
# empty dict for backward compatibility
|
|
1128
|
-
if statistics is None and metrics is None:
|
|
1129
|
-
statistics = {}
|
|
1130
|
-
|
|
1131
1101
|
# Assets need to end up as a list of dicts, so we achieve that based on
|
|
1132
1102
|
# the type of each asset in the list.
|
|
1133
1103
|
assets = []
|
|
@@ -1147,16 +1117,10 @@ class Output:
|
|
|
1147
1117
|
output_dict = {
|
|
1148
1118
|
"options": options,
|
|
1149
1119
|
"solution": self.solution if self.solution is not None else {},
|
|
1120
|
+
STATISTICS_KEY: statistics,
|
|
1150
1121
|
ASSETS_KEY: assets,
|
|
1151
1122
|
}
|
|
1152
1123
|
|
|
1153
|
-
# Only include statistics in output if it's not None
|
|
1154
|
-
if statistics is not None:
|
|
1155
|
-
output_dict[STATISTICS_KEY] = statistics
|
|
1156
|
-
|
|
1157
|
-
if metrics is not None:
|
|
1158
|
-
output_dict[METRICS_KEY] = metrics
|
|
1159
|
-
|
|
1160
1124
|
# Add the auxiliary configurations to the output dictionary if they are
|
|
1161
1125
|
# defined and not empty.
|
|
1162
1126
|
if (
|
|
@@ -1229,9 +1193,9 @@ class LocalOutputWriter(OutputWriter):
|
|
|
1229
1193
|
|
|
1230
1194
|
Examples
|
|
1231
1195
|
--------
|
|
1232
|
-
>>> from nextmv.output import LocalOutputWriter, Output,
|
|
1196
|
+
>>> from nextmv.output import LocalOutputWriter, Output, Statistics
|
|
1233
1197
|
>>> writer = LocalOutputWriter()
|
|
1234
|
-
>>> output = Output(solution={"result": 42},
|
|
1198
|
+
>>> output = Output(solution={"result": 42}, statistics=Statistics())
|
|
1235
1199
|
>>> # Write to stdout
|
|
1236
1200
|
>>> writer.write(output, path=None)
|
|
1237
1201
|
>>> # Write to a file
|
nextmv/run.py
CHANGED
|
@@ -434,9 +434,6 @@ class RunInfoStatistics(BaseModel):
|
|
|
434
434
|
"""List of statistics indicators."""
|
|
435
435
|
|
|
436
436
|
|
|
437
|
-
RunInfoMetrics = RunInfoStatistics
|
|
438
|
-
|
|
439
|
-
|
|
440
437
|
class OptionsSummaryItem(BaseModel):
|
|
441
438
|
"""
|
|
442
439
|
Summary item for options used in a run.
|
|
@@ -532,9 +529,7 @@ class Run(BaseModel):
|
|
|
532
529
|
experiment_id : str, optional
|
|
533
530
|
ID of the experiment associated with the run. Defaults to None.
|
|
534
531
|
statistics : RunInfoStatistics, optional
|
|
535
|
-
|
|
536
|
-
metrics: RunInfoMetrics, optional
|
|
537
|
-
Metrics of the run. Defaults to None.
|
|
532
|
+
Statistics of the run. Defaults to None.
|
|
538
533
|
input_id : str, optional
|
|
539
534
|
ID of the input associated with the run. Defaults to None.
|
|
540
535
|
option_set : str, optional
|
|
@@ -608,9 +603,7 @@ class Run(BaseModel):
|
|
|
608
603
|
experiment_id: str | None = None
|
|
609
604
|
"""ID of the experiment associated with the run."""
|
|
610
605
|
statistics: RunInfoStatistics | None = None
|
|
611
|
-
"""
|
|
612
|
-
metrics: RunInfoMetrics | None = None
|
|
613
|
-
"""Metrics of the run."""
|
|
606
|
+
"""Statistics of the run."""
|
|
614
607
|
input_id: str | None = None
|
|
615
608
|
"""ID of the input associated with the run."""
|
|
616
609
|
option_set: str | None = None
|
|
@@ -684,9 +677,7 @@ class Metadata(BaseModel):
|
|
|
684
677
|
status_v2: StatusV2
|
|
685
678
|
"""Status of the run."""
|
|
686
679
|
statistics: dict[str, Any] | None = None
|
|
687
|
-
"""
|
|
688
|
-
metrics: dict[str, Any] | None = None
|
|
689
|
-
"""User defined metrics of the run."""
|
|
680
|
+
"""User defined statistics of the run."""
|
|
690
681
|
|
|
691
682
|
def run_is_finalized(self) -> bool:
|
|
692
683
|
"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nextmv
|
|
3
|
-
Version: 1.0.0.
|
|
3
|
+
Version: 1.0.0.dev6
|
|
4
4
|
Summary: The all-purpose Python SDK for Nextmv
|
|
5
5
|
Project-URL: Homepage, https://www.nextmv.io
|
|
6
6
|
Project-URL: Documentation, https://nextmv-py.docs.nextmv.io/en/latest/nextmv/
|
|
@@ -230,11 +230,13 @@ Provides-Extra: dev
|
|
|
230
230
|
Requires-Dist: build>=1.0.3; extra == 'dev'
|
|
231
231
|
Requires-Dist: folium>=0.20.0; extra == 'dev'
|
|
232
232
|
Requires-Dist: mlflow>=2.19.0; extra == 'dev'
|
|
233
|
+
Requires-Dist: nextpipe>=0.6.0.dev0; extra == 'dev'
|
|
233
234
|
Requires-Dist: nextroute>=1.11.1; extra == 'dev'
|
|
234
235
|
Requires-Dist: openpyxl>=3.1.5; extra == 'dev'
|
|
235
236
|
Requires-Dist: pandas>=2.2.3; extra == 'dev'
|
|
236
237
|
Requires-Dist: plotly>=6.0.1; extra == 'dev'
|
|
237
238
|
Requires-Dist: pydantic>=2.5.2; extra == 'dev'
|
|
239
|
+
Requires-Dist: pytest>=9.0.2; extra == 'dev'
|
|
238
240
|
Requires-Dist: pyyaml>=6.0.1; extra == 'dev'
|
|
239
241
|
Requires-Dist: requests>=2.31.0; extra == 'dev'
|
|
240
242
|
Requires-Dist: ruff>=0.1.7; extra == 'dev'
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
nextmv/__about__.py,sha256=
|
|
1
|
+
nextmv/__about__.py,sha256=guKp6r4S1rrHqbewcdYicE2J11aLul9T0IzxX78PTHg,28
|
|
2
2
|
nextmv/__entrypoint__.py,sha256=XMT-ds1f2Yc6KoI2C0YEH-rJj5gVLfJMqUdRfcA3_KQ,1070
|
|
3
3
|
nextmv/__init__.py,sha256=LwpGBSiV0UG13zKHO2N3Ikb7bCMV08Gfbl6Cp80b_2g,3813
|
|
4
|
-
nextmv/_serialization.py,sha256=
|
|
4
|
+
nextmv/_serialization.py,sha256=jYitMS1MU8ldsmObT-K_8V8P2Wx69tnDiEHCCgPGun4,2834
|
|
5
5
|
nextmv/base_model.py,sha256=kPFqE-c_3LcEy8fY0qDrJk_gbPYgSKtetRMby71oxE8,2298
|
|
6
6
|
nextmv/deprecated.py,sha256=U1YD-vie0dEVWFJgIwOuinxACHsyiEIQpfrt95ykhlg,1651
|
|
7
7
|
nextmv/input.py,sha256=iONLkXhcIXRCJVPNVkJdivh47A399VMepsSxNZByX2I,37649
|
|
8
8
|
nextmv/logger.py,sha256=kNIbu46MisrzYe4T0hNMpWfRTKKacDVvbtQcNys_c_E,2513
|
|
9
|
-
nextmv/manifest.py,sha256=
|
|
10
|
-
nextmv/model.py,sha256=
|
|
11
|
-
nextmv/options.py,sha256=
|
|
12
|
-
nextmv/output.py,sha256=
|
|
9
|
+
nextmv/manifest.py,sha256=v9En9zMZVKZn6G_HThoKUZowMtZr5hxzwWiK9wkVHPU,49023
|
|
10
|
+
nextmv/model.py,sha256=9g-pAUg8E--CyUFU39J7e4MZcj0WrWtgIqfwGmoF7UA,14998
|
|
11
|
+
nextmv/options.py,sha256=PZtw2SIK48gkjzbJwMN6nfXm_3Utaa_ZUd23Y1XxS2Q,29657
|
|
12
|
+
nextmv/output.py,sha256=MbmI7t8p2LhKD1T--IZnsHvIuFY_TM8wTNCdLQVWs2A,54356
|
|
13
13
|
nextmv/polling.py,sha256=fwnAxmfpuBg4d6pi53TRTyyefdpf-cHLoTG6trAu-QA,11048
|
|
14
|
-
nextmv/run.py,sha256=
|
|
14
|
+
nextmv/run.py,sha256=8tkRQexJC8JN7IkLlhpwEW5pEudxwDq2sC_PImfwReI,54126
|
|
15
15
|
nextmv/safe.py,sha256=VAK4fGEurbLNji4Pg5Okga5XQSbI4aI9JJf95_68Z20,3867
|
|
16
16
|
nextmv/status.py,sha256=VqmOgxiEK89Y88ZUxZPfUXmY0HqvN28Lc1PDt0-9PLw,1600
|
|
17
17
|
nextmv/cli/CONTRIBUTING.md,sha256=xM_skfI1WPh2UtZ1axbB8AfOLJ3LZk8YhQpZY4qtSqw,21911
|
|
@@ -23,7 +23,7 @@ nextmv/cli/options.py,sha256=ymd6Y7_ZQkln35nHw3pLnFpqivgmJfuYAnyizmEuonc,6887
|
|
|
23
23
|
nextmv/cli/version.py,sha256=VRbfNpUvCFYPcphr-F3Ph4Z4UwtVis4keyVFHj1JISw,681
|
|
24
24
|
nextmv/cli/cloud/__init__.py,sha256=pywNNBy_poHaKn3_oIZRR9DDE8w3u65KvLpnX6S0BQI,1886
|
|
25
25
|
nextmv/cli/cloud/acceptance/__init__.py,sha256=v4U1m6z5zI8mQpmIE4kFeEYOsaDxnGRnRj2j5I6WueI,711
|
|
26
|
-
nextmv/cli/cloud/acceptance/create.py,sha256=
|
|
26
|
+
nextmv/cli/cloud/acceptance/create.py,sha256=Mtiy7fMBU5Ay_hxb2DXxdaM2XvR_QDbldtyjQIAaelQ,14582
|
|
27
27
|
nextmv/cli/cloud/acceptance/delete.py,sha256=julZ6Bs6YcsmyuE00yPjPScIRz4QteNt-GUR4J2Hp_I,2260
|
|
28
28
|
nextmv/cli/cloud/acceptance/get.py,sha256=pb3hRdIiynTi4K7xDNCMJE7bW46FE-X3EoAQU8kQJjE,3438
|
|
29
29
|
nextmv/cli/cloud/acceptance/list.py,sha256=9tTV4B2lgDqNxDnaNXkHxeh7jUQuAu9GQJsEKJ_NqIo,1881
|
|
@@ -39,7 +39,7 @@ nextmv/cli/cloud/app/delete.py,sha256=HLgDx4eMf_LYyGC8aQxuvNrhOfnWmDuutPjk4ywILa
|
|
|
39
39
|
nextmv/cli/cloud/app/exists.py,sha256=gd9pmR1Oq_cCjaTNB82PmJtDYowrb17vBfQYjoh6E9Q,1258
|
|
40
40
|
nextmv/cli/cloud/app/get.py,sha256=_v_7PrUniaaRvHclBA02V-UVcbVe1eFixGU6CeXA4m4,1765
|
|
41
41
|
nextmv/cli/cloud/app/list.py,sha256=AI1VNNueYfzwuSAFlf-vXbZEY-th5BrzXZgn-3uusFo,1653
|
|
42
|
-
nextmv/cli/cloud/app/push.py,sha256=
|
|
42
|
+
nextmv/cli/cloud/app/push.py,sha256=OsI9cTM1EuSqxKZFTgGZ9V15lTNQkdQDpN_lCSpEPpw,15756
|
|
43
43
|
nextmv/cli/cloud/app/update.py,sha256=4Mp8Zf40K1hdHO3KT9Md3piBWqzracfpWtujJfbPocM,4070
|
|
44
44
|
nextmv/cli/cloud/batch/__init__.py,sha256=-_UjmvrQItACUY_BQ_cOffNJixNHAb4vH_pew25sJ3o,774
|
|
45
45
|
nextmv/cli/cloud/batch/create.py,sha256=T70sjvvTxXxRpC4COFZFU5ei6ylS5MWLg6VLP3SjIso,15465
|
|
@@ -56,8 +56,9 @@ nextmv/cli/cloud/ensemble/delete.py,sha256=C1xmISSaUhtsV94w2z2rzhenp2mm9E0GXHy4d
|
|
|
56
56
|
nextmv/cli/cloud/ensemble/get.py,sha256=-4crRjI8MF8meq5uUhUR3q39lK4EIsvpzaODfGvwx3k,2135
|
|
57
57
|
nextmv/cli/cloud/ensemble/list.py,sha256=zm7TfBM5HH_8I-r4U219AbmQadET96kw1MrsjwARSAM,1887
|
|
58
58
|
nextmv/cli/cloud/ensemble/update.py,sha256=5AeuhY-CytzON1FFoEijBlo1T9oHvkq3mxV9I3qCeLA,3383
|
|
59
|
-
nextmv/cli/cloud/input_set/__init__.py,sha256=
|
|
59
|
+
nextmv/cli/cloud/input_set/__init__.py,sha256=qDyIc0JJm1oU9tyt9MgjkJL6VKXSFCySPTKKHqfLHCM,957
|
|
60
60
|
nextmv/cli/cloud/input_set/create.py,sha256=nJWsaj-fPXS8rwIbh13_wXc9SitDA4ByIHhlBS51GHo,5661
|
|
61
|
+
nextmv/cli/cloud/input_set/delete.py,sha256=8-cJtgcgh_kK0K7AtHZmYSCvTmxwtyQIhWcmt6aYAZI,2125
|
|
61
62
|
nextmv/cli/cloud/input_set/get.py,sha256=MvMD6tmMA_ui4MVCwRkOnmU0WySJmSJX7x2Q-x_xXwA,1916
|
|
62
63
|
nextmv/cli/cloud/input_set/list.py,sha256=7I0F1rs19bY9d_V2TjEFxHCbHq3bNV_mO0Fd9qJ58IY,1896
|
|
63
64
|
nextmv/cli/cloud/input_set/update.py,sha256=P5b94m08hGMAGr455fH-Cd1yryeMC15r1YfmJEt2NSw,4144
|
|
@@ -76,7 +77,7 @@ nextmv/cli/cloud/managed_input/list.py,sha256=6l4zJPVErmooobteBn05RmoXHgvI0RBt_L
|
|
|
76
77
|
nextmv/cli/cloud/managed_input/update.py,sha256=E1ddfQ9VJ7SgG8V6kkRYbgKhS4vDyv06WePNbLEXUsE,3191
|
|
77
78
|
nextmv/cli/cloud/run/__init__.py,sha256=KyonwVd5lfweaq-cIpPuRAzHFrK0slfqJsIjsT_p4PU,1102
|
|
78
79
|
nextmv/cli/cloud/run/cancel.py,sha256=d7aQQQmek_i3P2cDmpOohLiwSjWxfKEiVAvBnNYAmuE,1259
|
|
79
|
-
nextmv/cli/cloud/run/create.py,sha256=
|
|
80
|
+
nextmv/cli/cloud/run/create.py,sha256=39D4VdcfYRioziIy-qjLDSs-_dhSavrkmzcltUfgz3M,19526
|
|
80
81
|
nextmv/cli/cloud/run/get.py,sha256=bUczN6a1SV3wkW0uUPfQdO3i13BF51udixmuyiicdi8,7826
|
|
81
82
|
nextmv/cli/cloud/run/input.py,sha256=QEdDnKxEmucUwPPRAqh1VuErw5rKaAwXOHrmJESP-k0,3171
|
|
82
83
|
nextmv/cli/cloud/run/list.py,sha256=z3286Q0Aznz-qAvanCB03rXjCfGPk84A32t8AqTC2Cs,2563
|
|
@@ -103,7 +104,7 @@ nextmv/cli/cloud/shadow/get.py,sha256=8NmXl2romVPGfS9KP4G2Sv4SuSZKgRx85GZ4ClwTqW
|
|
|
103
104
|
nextmv/cli/cloud/shadow/list.py,sha256=aVFa3FAzfcUsMlD0hYgZwhoF75GQkaNDHrrq82qqylQ,1810
|
|
104
105
|
nextmv/cli/cloud/shadow/metadata.py,sha256=vHJYVDXXHwiqQrG0J0D_aRP--b47UfEgJwJOXqfskSo,2161
|
|
105
106
|
nextmv/cli/cloud/shadow/start.py,sha256=SkDYSfyQLdfHJKCOzc4CW6MVO7YBWCZCOAoGBzqSFhI,1464
|
|
106
|
-
nextmv/cli/cloud/shadow/stop.py,sha256=
|
|
107
|
+
nextmv/cli/cloud/shadow/stop.py,sha256=WNg73nHkQ6Mo7hdg3qfSXQBkd77iKPfRIdSSJxTHhTY,1706
|
|
107
108
|
nextmv/cli/cloud/shadow/update.py,sha256=l7_gODO9fXYGOLzFMJmIVpT5Jku9XQAo2PI5x3AP4xU,2880
|
|
108
109
|
nextmv/cli/cloud/switchback/__init__.py,sha256=jYeujjbqvqRGIgvC0wr3I6zavw1az7IS8jiJsAlH-z4,981
|
|
109
110
|
nextmv/cli/cloud/switchback/create.py,sha256=lEboNjN1ZFbuOCFmK2ADIRH-pIENc80NcR809rDOY3I,5085
|
|
@@ -112,7 +113,7 @@ nextmv/cli/cloud/switchback/get.py,sha256=GQKzaW4jCfV21DyZ5vDNrkFH2Tw1pR8Zv_71ji
|
|
|
112
113
|
nextmv/cli/cloud/switchback/list.py,sha256=wrXXA9aMLLcq_6WFk-dy9RopE57dFZb7TxlWdRx9G94,1882
|
|
113
114
|
nextmv/cli/cloud/switchback/metadata.py,sha256=WDhK-AVKEJQ38WhPZqPOgemHt-PI__r6sIEBFQtKxVw,2287
|
|
114
115
|
nextmv/cli/cloud/switchback/start.py,sha256=N9Bci8DmCQW8XUm93Rhj30TCf_YvK6N5qxZXMpW2X1I,1535
|
|
115
|
-
nextmv/cli/cloud/switchback/stop.py,sha256=
|
|
116
|
+
nextmv/cli/cloud/switchback/stop.py,sha256=pOasfThNCB3GXDNz4TPyJ5DNnMf3vLin6lAh1XoAk-Y,1774
|
|
116
117
|
nextmv/cli/cloud/switchback/update.py,sha256=pILZUbqlIM6l1mrbVPtks6CGcgre5829sSnD2yMZd-0,3000
|
|
117
118
|
nextmv/cli/cloud/upload/__init__.py,sha256=khOl6NxkPd4KEqN0xMdxzmST-Ct3Vr_xk8zbMvbrLl8,511
|
|
118
119
|
nextmv/cli/cloud/upload/create.py,sha256=vRTHCeh7cbB9JSAMUCpcdQrzQ1od5FiFiNdPPh7sFqw,1216
|
|
@@ -124,19 +125,20 @@ nextmv/cli/cloud/version/get.py,sha256=eGbka3TG8UJE150h22rn0BUqTi1xRE7roVDj6yJvn
|
|
|
124
125
|
nextmv/cli/cloud/version/list.py,sha256=sKdHgyowLG1jyUEtu87yCPC5_2-0i3VDEgfmvb-bBn0,1770
|
|
125
126
|
nextmv/cli/cloud/version/update.py,sha256=mEUYXGHLGkiEGH31KK6jDDfviHEhVCdLjLQL_5u0vLk,2869
|
|
126
127
|
nextmv/cli/community/__init__.py,sha256=t2l6adm9Km6hSvSFzeKHTQzacVSnwjx4wpj2kqee5nM,612
|
|
127
|
-
nextmv/cli/community/clone.py,sha256=
|
|
128
|
-
nextmv/cli/community/list.py,sha256=
|
|
128
|
+
nextmv/cli/community/clone.py,sha256=_I1C58pKmfAHdl-8eaZDeaxZm2Rnp2en8PCPdflAse4,2912
|
|
129
|
+
nextmv/cli/community/list.py,sha256=1ZdkwbWluJqZWVEAI0XVpB-mEQNnulsL2oPjavdMl-c,5754
|
|
129
130
|
nextmv/cli/configuration/__init__.py,sha256=7oryF4PKkORh8bcdgbN2k36rZrFpJsM7Xfq_J4-MkFs,516
|
|
130
131
|
nextmv/cli/configuration/config.py,sha256=t43ubCcbfbpfq9HvkVb2WQY9V47lrLEP0KvsWfjOJ8Y,6667
|
|
131
132
|
nextmv/cli/configuration/create.py,sha256=aDj6wFl6_RRMmvCLTNIeCcFotNOGoupso785M46nh2Y,2668
|
|
132
133
|
nextmv/cli/configuration/delete.py,sha256=3l1Mx8ATCwoiggbYBjG0ArmYSbS_GlJ5cCCymG2CEhU,1935
|
|
133
134
|
nextmv/cli/configuration/list.py,sha256=HIZvDJQW5B0-o_ZqQHuxRw7N_VmxqYM46fucKCvo1zw,2208
|
|
134
|
-
nextmv/cloud/__init__.py,sha256=
|
|
135
|
+
nextmv/cloud/__init__.py,sha256=IW9fdg3QgusJGAU4VVEu5qkCidzalyYf4wjC1T14rnQ,4183
|
|
135
136
|
nextmv/cloud/acceptance_test.py,sha256=H34lvccJzN1URpnhrHstcVxgvq1s2iCymiKIPBHcToY,25828
|
|
136
137
|
nextmv/cloud/account.py,sha256=X2xQjzhgEdKR0eypH8lWKUOwDISjJSd5SwOwEnpfTVk,13573
|
|
137
138
|
nextmv/cloud/assets.py,sha256=alw634ub-DR0CHQXZy_ObeGvQthPXFLdgzgbvbH1SGY,1376
|
|
138
|
-
nextmv/cloud/batch_experiment.py,sha256=
|
|
139
|
-
nextmv/cloud/client.py,sha256=
|
|
139
|
+
nextmv/cloud/batch_experiment.py,sha256=flwP5pbBio-ilAbopj8DdSWOlxGbct1IOElsgcyVN8U,10545
|
|
140
|
+
nextmv/cloud/client.py,sha256=Yj4FE4GKsLHkYijAYXcotlyNfhAWANMuWetHXsYPg1M,18101
|
|
141
|
+
nextmv/cloud/community.py,sha256=LSiKF5agLTHFbW5fBAv-m3MsWm3XuROpw4_KkPpwtZM,13060
|
|
140
142
|
nextmv/cloud/ensemble.py,sha256=_hKPjSLtuGH1xGG70ZBsmY_IL5XinZqVHHwBxtX9Omw,8570
|
|
141
143
|
nextmv/cloud/input_set.py,sha256=wsLmMI1C7BslWDN5j1RnVUA8z54-Hq1eLG9bkzyqafo,4187
|
|
142
144
|
nextmv/cloud/instance.py,sha256=rLrgNNvNyC6hZtjxIfTR2Luylmbh2emJIZVCy_hTJZ4,5495
|
|
@@ -144,40 +146,40 @@ nextmv/cloud/integration.py,sha256=S4BNX3GFGNA1SXDWaRAUeS0hW6XkYXWSdWXX-s-x_nA,1
|
|
|
144
146
|
nextmv/cloud/package.py,sha256=88XSJ15QGcHboNJAw2hGowiLKBu2O2nV5ZieZFx7XDI,17133
|
|
145
147
|
nextmv/cloud/scenario.py,sha256=1_4PI9ehYaSonEe_l59cFhZNmqQ_brXXP6-mVq9i8a8,14183
|
|
146
148
|
nextmv/cloud/secrets.py,sha256=fA5cX0jfTsPVZWV7433wzETGlXpWRLHGswuObx9e6FQ,6820
|
|
147
|
-
nextmv/cloud/shadow.py,sha256=
|
|
149
|
+
nextmv/cloud/shadow.py,sha256=U-s9alkDS3wmYCEVDKEvuceveWOZOiF7rkH4_8eKdNk,7711
|
|
148
150
|
nextmv/cloud/switchback.py,sha256=AGA0LDMu7sHndczy2TrcZghn_ZRnTGlBDmGRZG34dZY,7344
|
|
149
151
|
nextmv/cloud/url.py,sha256=Fz70ywkWdCLmP21ZBmJwZi5kDbjpmsX_VlwVF_xQeHg,1836
|
|
150
152
|
nextmv/cloud/version.py,sha256=5_S7_pWUVBFbvAArku20eK7S645GJcHtgE2OpXLdSzQ,5300
|
|
151
|
-
nextmv/cloud/application/__init__.py,sha256=
|
|
153
|
+
nextmv/cloud/application/__init__.py,sha256=x9khEFlWUdupBxzMuSyrCftopNtrK64LTTEaCRSRwyM,32712
|
|
152
154
|
nextmv/cloud/application/_acceptance.py,sha256=ZwbVkur3-1fwM_L4F8ZUqrNaIdHgYGxKd3utoOCWjSc,13679
|
|
153
155
|
nextmv/cloud/application/_batch_scenario.py,sha256=cSsX5vPOkm91UqRBPIcqlOvQ0iojwt4sQKYGZEE7x6k,28479
|
|
154
156
|
nextmv/cloud/application/_ensemble.py,sha256=05l9uR0hTnW8nQjhRzjd2TPfvCoaAqNddWP-aVRL5rg,7666
|
|
155
|
-
nextmv/cloud/application/_input_set.py,sha256=
|
|
157
|
+
nextmv/cloud/application/_input_set.py,sha256=BXleeHOClCkwOh53vG6F_561XzAo_XgrHfGmNbJxIds,8131
|
|
156
158
|
nextmv/cloud/application/_instance.py,sha256=Jjig8NI1jXNyBQoYj7JOfS0JFmw5jJdKLfi82fqBYgo,8386
|
|
157
159
|
nextmv/cloud/application/_managed_input.py,sha256=zaWqGpe8Y5XWheroAqZSo-xNHfn2MKblNwRUbQVXBRM,6694
|
|
158
|
-
nextmv/cloud/application/_run.py,sha256=
|
|
160
|
+
nextmv/cloud/application/_run.py,sha256=4lrxyQCUGJszdiYNGynYg6RXBPqjQ4tFcDmxH9dfSXY,53869
|
|
159
161
|
nextmv/cloud/application/_secrets.py,sha256=hWhPAyY8aDF8zlEz9opPNLrFOYtp-COFqG_jgOZ6VxI,9476
|
|
160
|
-
nextmv/cloud/application/_shadow.py,sha256=
|
|
161
|
-
nextmv/cloud/application/_switchback.py,sha256=
|
|
162
|
+
nextmv/cloud/application/_shadow.py,sha256=ck1v0yBuayGnlLlq5pEIwNQOE3wU29m9jsx8II7MxqQ,9327
|
|
163
|
+
nextmv/cloud/application/_switchback.py,sha256=QLL1PVtVY_hjVJA4p-9fATDXptjhJzR0xhyQpwKoORg,9984
|
|
162
164
|
nextmv/cloud/application/_utils.py,sha256=GqksGBHCV2sc-itL6hlWnncUJjIxhw6LH3pOjs4M-us,1643
|
|
163
165
|
nextmv/cloud/application/_version.py,sha256=o1jVLfoKJNCs-32P7hkL1IGba8Eb1hnT6vnaZpyc0dk,8543
|
|
164
166
|
nextmv/default_app/.gitignore,sha256=gsfnfXMYNt-YTroh5hAzauwBZoPDJ6D_fB17rMSnIko,8
|
|
165
167
|
nextmv/default_app/README.md,sha256=hW3zWcYzxhYfof-pThaN1Fkx93GT8tTUVRhx15edBis,662
|
|
166
168
|
nextmv/default_app/app.yaml,sha256=TKjKnuoK0SDpouB_AS7TQmE_8HZbQYjmwFvhzFL1xpc,382
|
|
167
169
|
nextmv/default_app/input.json,sha256=zgvbKL3boB0WIU6-9mEU3ZWBddQ5cQ0vhgmDwDyz4hE,63
|
|
168
|
-
nextmv/default_app/main.py,sha256=
|
|
170
|
+
nextmv/default_app/main.py,sha256=gG-1JIvKXPCkm4JV46PcXxsQTAefwPXQbdPxkSubhf0,888
|
|
169
171
|
nextmv/default_app/requirements.txt,sha256=wRE_HkYYWzCGnYZ2NuatHXul4gCHvU3iUAdsxtzpYiA,29
|
|
170
172
|
nextmv/default_app/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
171
173
|
nextmv/default_app/src/visuals.py,sha256=WYK_YBnLmYo3TpVev1CpoNCuW5R7hk9QIkeCmvMn1Fs,1014
|
|
172
174
|
nextmv/local/__init__.py,sha256=6BsoqlK4dw6X11_uKzz9gBPfxKpdiol2FYO8R3X73SE,116
|
|
173
175
|
nextmv/local/application.py,sha256=SBOARPnffAH6q-S0GGPEjt0gYIXmeR-38-VcZMfhqKk,47745
|
|
174
|
-
nextmv/local/executor.py,sha256=
|
|
175
|
-
nextmv/local/geojson_handler.py,sha256=
|
|
176
|
+
nextmv/local/executor.py,sha256=1qoynUCB9UDgXhjXKds0OGc8McAtAsQHJ0-QVWTJrQs,36562
|
|
177
|
+
nextmv/local/geojson_handler.py,sha256=7FavJdkUonop-yskjis0x3qFGB8A5wZyoBUblw-bVhw,12540
|
|
176
178
|
nextmv/local/local.py,sha256=cp56UpI8h19Ob6Jvb_Ni0ceXH5Vv3ET_iPTDe6ftq3Y,2617
|
|
177
179
|
nextmv/local/plotly_handler.py,sha256=bLb50e3AkVr_W-F6S7lXfeRdN60mG2jk3UElNmhoMWU,1930
|
|
178
180
|
nextmv/local/runner.py,sha256=bM1dFIAG4f9pEtbyevzkRa9nSppqTeD8naomNzJVBRU,8560
|
|
179
|
-
nextmv-1.0.0.
|
|
180
|
-
nextmv-1.0.0.
|
|
181
|
-
nextmv-1.0.0.
|
|
182
|
-
nextmv-1.0.0.
|
|
183
|
-
nextmv-1.0.0.
|
|
181
|
+
nextmv-1.0.0.dev6.dist-info/METADATA,sha256=-HLolADVOi3qsf9EFtOWpT7tqweuqBiWb4WDZzplmjU,16581
|
|
182
|
+
nextmv-1.0.0.dev6.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
183
|
+
nextmv-1.0.0.dev6.dist-info/entry_points.txt,sha256=bH7kXUt_IOLpeW_O7Z-J2gALs2YYJ4CmWuzS8MdK6uY,48
|
|
184
|
+
nextmv-1.0.0.dev6.dist-info/licenses/LICENSE,sha256=ZIbK-sSWA-OZprjNbmJAglYRtl5_K4l9UwAV3PGJAPc,11349
|
|
185
|
+
nextmv-1.0.0.dev6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|