nextmv 1.0.0.dev4__py3-none-any.whl → 1.0.0.dev5__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/__entrypoint__.py +1 -2
- nextmv/__init__.py +0 -4
- nextmv/_serialization.py +1 -1
- nextmv/cli/cloud/acceptance/create.py +12 -12
- nextmv/cli/cloud/app/push.py +294 -204
- nextmv/cli/confirm.py +5 -3
- nextmv/cloud/__init__.py +0 -38
- nextmv/cloud/acceptance_test.py +1 -65
- nextmv/cloud/account.py +1 -6
- nextmv/cloud/application/__init__.py +2 -0
- nextmv/cloud/application/_batch_scenario.py +2 -17
- nextmv/cloud/application/_instance.py +1 -1
- nextmv/cloud/application/_managed_input.py +1 -1
- nextmv/cloud/application/_run.py +8 -1
- nextmv/cloud/application/_shadow.py +1 -1
- nextmv/cloud/application/_switchback.py +1 -1
- nextmv/cloud/application/_version.py +1 -1
- nextmv/cloud/client.py +1 -1
- nextmv/default_app/main.py +4 -6
- nextmv/deprecated.py +5 -3
- nextmv/input.py +0 -52
- nextmv/local/executor.py +83 -3
- nextmv/local/geojson_handler.py +1 -1
- nextmv/local/runner.py +1 -1
- nextmv/manifest.py +11 -7
- nextmv/model.py +2 -2
- nextmv/options.py +10 -255
- nextmv/output.py +57 -83
- nextmv/run.py +13 -13
- nextmv/status.py +1 -51
- {nextmv-1.0.0.dev4.dist-info → nextmv-1.0.0.dev5.dist-info}/METADATA +1 -1
- {nextmv-1.0.0.dev4.dist-info → nextmv-1.0.0.dev5.dist-info}/RECORD +36 -36
- {nextmv-1.0.0.dev4.dist-info → nextmv-1.0.0.dev5.dist-info}/WHEEL +0 -0
- {nextmv-1.0.0.dev4.dist-info → nextmv-1.0.0.dev5.dist-info}/entry_points.txt +0 -0
- {nextmv-1.0.0.dev4.dist-info → nextmv-1.0.0.dev5.dist-info}/licenses/LICENSE +0 -0
nextmv/__about__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "v1.0.0.
|
|
1
|
+
__version__ = "v1.0.0.dev5"
|
nextmv/__entrypoint__.py
CHANGED
|
@@ -10,13 +10,12 @@ human to use it during local development. It is the standard way in which a
|
|
|
10
10
|
from mlflow.pyfunc import load_model
|
|
11
11
|
|
|
12
12
|
import nextmv
|
|
13
|
-
from nextmv import cloud
|
|
14
13
|
|
|
15
14
|
|
|
16
15
|
def main() -> None:
|
|
17
16
|
"""Entry point for the program."""
|
|
18
17
|
|
|
19
|
-
manifest =
|
|
18
|
+
manifest = nextmv.Manifest.from_yaml(".")
|
|
20
19
|
|
|
21
20
|
# Load the options from the manifest.
|
|
22
21
|
options = manifest.extract_options()
|
nextmv/__init__.py
CHANGED
|
@@ -11,7 +11,6 @@ from .input import LocalInputLoader as LocalInputLoader
|
|
|
11
11
|
from .input import csv_data_file as csv_data_file
|
|
12
12
|
from .input import json_data_file as json_data_file
|
|
13
13
|
from .input import load as load
|
|
14
|
-
from .input import load_local as load_local
|
|
15
14
|
from .input import text_data_file as text_data_file
|
|
16
15
|
from .logger import log as log
|
|
17
16
|
from .logger import redirect_stdout as redirect_stdout
|
|
@@ -31,7 +30,6 @@ from .model import Model as Model
|
|
|
31
30
|
from .model import ModelConfiguration as ModelConfiguration
|
|
32
31
|
from .options import Option as Option
|
|
33
32
|
from .options import Options as Options
|
|
34
|
-
from .options import Parameter as Parameter
|
|
35
33
|
from .output import Asset as Asset
|
|
36
34
|
from .output import DataPoint as DataPoint
|
|
37
35
|
from .output import LocalOutputWriter as LocalOutputWriter
|
|
@@ -50,7 +48,6 @@ from .output import csv_solution_file as csv_solution_file
|
|
|
50
48
|
from .output import json_solution_file as json_solution_file
|
|
51
49
|
from .output import text_solution_file as text_solution_file
|
|
52
50
|
from .output import write as write
|
|
53
|
-
from .output import write_local as write_local
|
|
54
51
|
from .polling import DEFAULT_POLLING_OPTIONS as DEFAULT_POLLING_OPTIONS
|
|
55
52
|
from .polling import PollingOptions as PollingOptions
|
|
56
53
|
from .polling import default_polling_options as default_polling_options
|
|
@@ -79,7 +76,6 @@ from .run import TrackedRunStatus as TrackedRunStatus
|
|
|
79
76
|
from .run import run_duration as run_duration
|
|
80
77
|
from .safe import safe_id as safe_id
|
|
81
78
|
from .safe import safe_name_and_id as safe_name_and_id
|
|
82
|
-
from .status import Status as Status
|
|
83
79
|
from .status import StatusV2 as StatusV2
|
|
84
80
|
|
|
85
81
|
VERSION = __version__
|
nextmv/_serialization.py
CHANGED
|
@@ -90,7 +90,7 @@ def _custom_serial(obj: Any) -> str:
|
|
|
90
90
|
If the object type is not supported for serialization.
|
|
91
91
|
"""
|
|
92
92
|
|
|
93
|
-
if isinstance(obj,
|
|
93
|
+
if isinstance(obj, datetime.datetime | datetime.date):
|
|
94
94
|
return obj.isoformat()
|
|
95
95
|
|
|
96
96
|
raise TypeError(f"Type {type(obj)} not serializable")
|
|
@@ -45,7 +45,7 @@ app = typer.Typer()
|
|
|
45
45
|
- Multiple metrics as a [magenta]json[/magenta] array in a single --metrics flag.
|
|
46
46
|
|
|
47
47
|
Each metric must have the following fields:
|
|
48
|
-
- [magenta]field[/magenta]: Field of the metric to measure (e.g., "
|
|
48
|
+
- [magenta]field[/magenta]: Field of the metric to measure (e.g., "result.custom.unassigned").
|
|
49
49
|
- [magenta]metric_type[/magenta]: Type of metric comparison. Allowed values: {enum_values(MetricType)}.
|
|
50
50
|
- [magenta]params[/magenta]: Parameters of the metric comparison.
|
|
51
51
|
- [magenta]operator[/magenta]: Comparison operator. Allowed values: {enum_values(Comparison)}.
|
|
@@ -71,8 +71,8 @@ app = typer.Typer()
|
|
|
71
71
|
[bold][underline]Examples[/underline][/bold]
|
|
72
72
|
|
|
73
73
|
- Create an acceptance test with a single metric.
|
|
74
|
-
$ [
|
|
75
|
-
"field": "
|
|
74
|
+
$ [green]METRIC='{{
|
|
75
|
+
"field": "result.custom.unassigned",
|
|
76
76
|
"metric_type": "direct-comparison",
|
|
77
77
|
"params": {{
|
|
78
78
|
"operator": "lt",
|
|
@@ -85,8 +85,8 @@ app = typer.Typer()
|
|
|
85
85
|
--metrics "$METRIC" --input-set-id input-set-123[/dim]
|
|
86
86
|
|
|
87
87
|
- Create with multiple metrics by repeating the flag.
|
|
88
|
-
$ [
|
|
89
|
-
"field": "
|
|
88
|
+
$ [green]METRIC1='{{
|
|
89
|
+
"field": "result.custom.unassigned",
|
|
90
90
|
"metric_type": "direct-comparison",
|
|
91
91
|
"params": {{
|
|
92
92
|
"operator": "lt",
|
|
@@ -95,7 +95,7 @@ app = typer.Typer()
|
|
|
95
95
|
"statistic": "mean"
|
|
96
96
|
}}'
|
|
97
97
|
METRIC2='{{
|
|
98
|
-
"field": "
|
|
98
|
+
"field": "run.duration",
|
|
99
99
|
"metric_type": "direct-comparison",
|
|
100
100
|
"params": {{
|
|
101
101
|
"operator": "le",
|
|
@@ -110,7 +110,7 @@ app = typer.Typer()
|
|
|
110
110
|
- Create with multiple metrics in a single [magenta]json[/magenta] array.
|
|
111
111
|
$ [dim]METRICS='[
|
|
112
112
|
{{
|
|
113
|
-
"field": "
|
|
113
|
+
"field": "result.custom.unassigned",
|
|
114
114
|
"metric_type": "direct-comparison",
|
|
115
115
|
"params": {{
|
|
116
116
|
"operator": "lt",
|
|
@@ -119,7 +119,7 @@ app = typer.Typer()
|
|
|
119
119
|
"statistic": "mean"
|
|
120
120
|
}},
|
|
121
121
|
{{
|
|
122
|
-
"field": "
|
|
122
|
+
"field": "run.duration",
|
|
123
123
|
"metric_type": "direct-comparison",
|
|
124
124
|
"params": {{
|
|
125
125
|
"operator": "le",
|
|
@@ -133,8 +133,8 @@ app = typer.Typer()
|
|
|
133
133
|
--metrics "$METRICS" --input-set-id input-set-123[/dim]
|
|
134
134
|
|
|
135
135
|
- Create an acceptance test and wait for it to complete.
|
|
136
|
-
$ [
|
|
137
|
-
"field": "
|
|
136
|
+
$ [green]METRIC='{{
|
|
137
|
+
"field": "result.custom.unassigned",
|
|
138
138
|
"metric_type": "direct-comparison",
|
|
139
139
|
"params": {{
|
|
140
140
|
"operator": "lt",
|
|
@@ -147,8 +147,8 @@ app = typer.Typer()
|
|
|
147
147
|
--metrics "$METRIC" --input-set-id input-set-123 --wait[/dim]
|
|
148
148
|
|
|
149
149
|
- Create an acceptance test and save the results to a file, waiting for completion.
|
|
150
|
-
$ [
|
|
151
|
-
"field": "
|
|
150
|
+
$ [green]METRIC='{{
|
|
151
|
+
"field": "result.custom.unassigned",
|
|
152
152
|
"metric_type": "direct-comparison",
|
|
153
153
|
"params": {{
|
|
154
154
|
"operator": "lt",
|