nextmv 0.34.1.dev0__tar.gz → 0.34.1.dev1__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.
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/PKG-INFO +1 -1
- nextmv-0.34.1.dev1/nextmv/__about__.py +1 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/executor.py +2 -9
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/run.py +4 -3
- nextmv-0.34.1.dev0/nextmv/__about__.py +0 -1
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/.gitignore +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/LICENSE +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/README.md +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/__entrypoint__.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/__init__.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/_serialization.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/base_model.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/__init__.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/acceptance_test.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/account.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/application.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/batch_experiment.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/client.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/ensemble.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/input_set.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/instance.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/package.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/scenario.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/secrets.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/url.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/version.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/.gitignore +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/README.md +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/app.yaml +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/input.json +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/main.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/requirements.txt +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/src/__init__.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/src/main.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/src/visuals.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/deprecated.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/input.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/__init__.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/application.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/geojson_handler.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/local.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/plotly_handler.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/runner.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/logger.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/manifest.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/model.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/options.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/output.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/polling.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/safe.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/status.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/pyproject.toml +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/__init__.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/cloud/__init__.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/cloud/app.yaml +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/cloud/test_client.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/cloud/test_package.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/cloud/test_scenario.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/local/__init__.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/local/test_application.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/local/test_executor.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/local/test_runner.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/__init__.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options1.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options2.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options3.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options4.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options5.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options6.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options7.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options_deprecated.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_base_model.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_entrypoint/__init__.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_entrypoint/test_entrypoint.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_input.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_inputs/test_data.csv +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_inputs/test_data.json +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_inputs/test_data.txt +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_logger.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_manifest.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_model.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_options.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_output.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_polling.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_run.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_safe.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_serialization.py +0 -0
- {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_version.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "v0.34.1.dev1"
|
|
@@ -988,7 +988,7 @@ def _remove_empty_directories(directory: str) -> None:
|
|
|
988
988
|
|
|
989
989
|
def _should_copy_file(src_file: str, dst_file: str) -> bool:
|
|
990
990
|
"""
|
|
991
|
-
Determine if a file should be copied based on existence
|
|
991
|
+
Determine if a file should be copied based on existence and content.
|
|
992
992
|
|
|
993
993
|
Parameters
|
|
994
994
|
----------
|
|
@@ -1006,16 +1006,9 @@ def _should_copy_file(src_file: str, dst_file: str) -> bool:
|
|
|
1006
1006
|
return True
|
|
1007
1007
|
|
|
1008
1008
|
try:
|
|
1009
|
-
# First check if content is different
|
|
1010
1009
|
src_checksum = _calculate_file_checksum(src_file)
|
|
1011
1010
|
dst_checksum = _calculate_file_checksum(dst_file)
|
|
1012
|
-
|
|
1013
|
-
return True
|
|
1014
|
-
|
|
1015
|
-
# If content is the same, check if source file is newer
|
|
1016
|
-
src_mtime = os.path.getmtime(src_file)
|
|
1017
|
-
dst_mtime = os.path.getmtime(dst_file)
|
|
1018
|
-
return src_mtime > dst_mtime
|
|
1011
|
+
return src_checksum != dst_checksum
|
|
1019
1012
|
except OSError:
|
|
1020
1013
|
return True
|
|
1021
1014
|
|
|
@@ -682,9 +682,10 @@ class Metadata(BaseModel):
|
|
|
682
682
|
"""Format of the input and output of the run."""
|
|
683
683
|
status_v2: StatusV2
|
|
684
684
|
"""Status of the run."""
|
|
685
|
-
|
|
686
685
|
status: Optional[Status] = None
|
|
687
686
|
"""Deprecated: use status_v2."""
|
|
687
|
+
statistics: Optional[dict[str, Any]] = None
|
|
688
|
+
"""User defined statistics of the run."""
|
|
688
689
|
|
|
689
690
|
|
|
690
691
|
class SyncedRun(BaseModel):
|
|
@@ -1560,9 +1561,9 @@ class TrackedRun:
|
|
|
1560
1561
|
|
|
1561
1562
|
if isinstance(self.output, Output):
|
|
1562
1563
|
try:
|
|
1563
|
-
_ = serialize_json(self.output.
|
|
1564
|
+
_ = serialize_json(self.output.solution)
|
|
1564
1565
|
except (TypeError, OverflowError) as e:
|
|
1565
|
-
raise ValueError("Output.
|
|
1566
|
+
raise ValueError("`Output.solution` is not JSON serializable") from e
|
|
1566
1567
|
elif isinstance(self.output, dict):
|
|
1567
1568
|
try:
|
|
1568
1569
|
_ = serialize_json(self.output)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "v0.34.1.dev0"
|
|
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
|
|
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
|
|
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
|