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.
Files changed (88) hide show
  1. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/PKG-INFO +1 -1
  2. nextmv-0.34.1.dev1/nextmv/__about__.py +1 -0
  3. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/executor.py +2 -9
  4. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/run.py +4 -3
  5. nextmv-0.34.1.dev0/nextmv/__about__.py +0 -1
  6. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/.gitignore +0 -0
  7. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/LICENSE +0 -0
  8. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/README.md +0 -0
  9. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/__entrypoint__.py +0 -0
  10. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/__init__.py +0 -0
  11. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/_serialization.py +0 -0
  12. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/base_model.py +0 -0
  13. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/__init__.py +0 -0
  14. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/acceptance_test.py +0 -0
  15. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/account.py +0 -0
  16. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/application.py +0 -0
  17. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/batch_experiment.py +0 -0
  18. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/client.py +0 -0
  19. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/ensemble.py +0 -0
  20. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/input_set.py +0 -0
  21. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/instance.py +0 -0
  22. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/package.py +0 -0
  23. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/scenario.py +0 -0
  24. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/secrets.py +0 -0
  25. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/url.py +0 -0
  26. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/cloud/version.py +0 -0
  27. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/.gitignore +0 -0
  28. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/README.md +0 -0
  29. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/app.yaml +0 -0
  30. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/input.json +0 -0
  31. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/main.py +0 -0
  32. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/requirements.txt +0 -0
  33. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/src/__init__.py +0 -0
  34. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/src/main.py +0 -0
  35. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/default_app/src/visuals.py +0 -0
  36. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/deprecated.py +0 -0
  37. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/input.py +0 -0
  38. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/__init__.py +0 -0
  39. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/application.py +0 -0
  40. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/geojson_handler.py +0 -0
  41. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/local.py +0 -0
  42. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/plotly_handler.py +0 -0
  43. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/local/runner.py +0 -0
  44. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/logger.py +0 -0
  45. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/manifest.py +0 -0
  46. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/model.py +0 -0
  47. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/options.py +0 -0
  48. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/output.py +0 -0
  49. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/polling.py +0 -0
  50. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/safe.py +0 -0
  51. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/nextmv/status.py +0 -0
  52. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/pyproject.toml +0 -0
  53. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/__init__.py +0 -0
  54. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/cloud/__init__.py +0 -0
  55. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/cloud/app.yaml +0 -0
  56. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/cloud/test_client.py +0 -0
  57. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/cloud/test_package.py +0 -0
  58. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/cloud/test_scenario.py +0 -0
  59. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/local/__init__.py +0 -0
  60. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/local/test_application.py +0 -0
  61. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/local/test_executor.py +0 -0
  62. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/local/test_runner.py +0 -0
  63. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/__init__.py +0 -0
  64. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options1.py +0 -0
  65. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options2.py +0 -0
  66. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options3.py +0 -0
  67. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options4.py +0 -0
  68. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options5.py +0 -0
  69. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options6.py +0 -0
  70. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options7.py +0 -0
  71. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/scripts/options_deprecated.py +0 -0
  72. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_base_model.py +0 -0
  73. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_entrypoint/__init__.py +0 -0
  74. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_entrypoint/test_entrypoint.py +0 -0
  75. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_input.py +0 -0
  76. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_inputs/test_data.csv +0 -0
  77. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_inputs/test_data.json +0 -0
  78. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_inputs/test_data.txt +0 -0
  79. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_logger.py +0 -0
  80. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_manifest.py +0 -0
  81. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_model.py +0 -0
  82. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_options.py +0 -0
  83. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_output.py +0 -0
  84. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_polling.py +0 -0
  85. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_run.py +0 -0
  86. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_safe.py +0 -0
  87. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_serialization.py +0 -0
  88. {nextmv-0.34.1.dev0 → nextmv-0.34.1.dev1}/tests/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nextmv
3
- Version: 0.34.1.dev0
3
+ Version: 0.34.1.dev1
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/
@@ -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, content, and modification time.
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
- if src_checksum != dst_checksum:
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.data)
1564
+ _ = serialize_json(self.output.solution)
1564
1565
  except (TypeError, OverflowError) as e:
1565
- raise ValueError("Output.data is not JSON serializable") from e
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