nextmv 1.8.0.dev0__tar.gz → 1.9.0.dev0__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-1.8.0.dev0 → nextmv-1.9.0.dev0}/CONTRIBUTING.md +3 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/PKG-INFO +1 -1
- nextmv-1.9.0.dev0/nextmv/__about__.py +1 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/__init__.py +3 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cache.py +20 -9
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cache/delete.py +2 -2
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cache/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/acceptance/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/acceptance/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/acceptance/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/acceptance/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/acceptance/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/account/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/account/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/account/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/account/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/app/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/app/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/app/exists.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/app/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/app/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/app/push.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/app/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/batch/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/batch/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/batch/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/batch/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/batch/metadata.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/batch/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/data/upload.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/ensemble/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/ensemble/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/ensemble/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/ensemble/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/ensemble/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/input_set/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/input_set/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/input_set/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/input_set/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/input_set/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/instance/create.py +3 -2
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/instance/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/instance/exists.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/instance/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/instance/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/instance/update.py +3 -2
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/managed_input/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/managed_input/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/managed_input/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/managed_input/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/managed_input/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/app/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/app/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/app/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/app/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/subscription/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/subscription/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/subscription/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/subscription/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/version/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/version/get.py +2 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/version/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/version/update.py +2 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/run/__init__.py +4 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/run/cancel.py +2 -1
- nextmv-1.9.0.dev0/nextmv/cli/cloud/run/clone.py +421 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/run/create.py +82 -4
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/run/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/run/get.py +4 -3
- nextmv-1.9.0.dev0/nextmv/cli/cloud/run/information.py +69 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/run/input.py +3 -2
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/run/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/run/logs.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/run/metadata.py +12 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/run/track.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/scenario/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/scenario/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/scenario/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/scenario/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/scenario/metadata.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/scenario/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/secrets/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/secrets/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/secrets/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/secrets/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/secrets/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/shadow/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/shadow/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/shadow/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/shadow/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/shadow/metadata.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/shadow/start.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/shadow/stop.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/shadow/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/sso/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/sso/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/sso/disable.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/sso/domain/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/sso/enable.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/sso/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/sso/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/switchback/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/switchback/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/switchback/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/switchback/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/switchback/metadata.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/switchback/start.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/switchback/stop.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/switchback/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/upload/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/version/create.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/version/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/version/exists.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/version/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/version/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/version/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/community/clone.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/community/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/configuration/create.py +2 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/configuration/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/configuration/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/init.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/app/delete.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/app/get.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/app/list.py +2 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/app/register.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/app/registered.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/app/sync.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/app/update.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/run/__init__.py +4 -0
- nextmv-1.9.0.dev0/nextmv/cli/local/run/clone.py +266 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/run/create.py +9 -4
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/run/get.py +4 -3
- nextmv-1.9.0.dev0/nextmv/cli/local/run/information.py +71 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/run/input.py +3 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/run/list.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/run/logs.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/run/metadata.py +12 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/run/visuals.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/main.py +67 -12
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/manifest/init.py +2 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/manifest/validate.py +2 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/serve.py +3 -2
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/local.py +5 -8
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/run.py +6 -8
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/message.py +10 -7
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/options.py +13 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/version.py +2 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/__init__.py +54 -54
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_run.py +771 -95
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/client.py +9 -4
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/package.py +16 -15
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/deprecated.py +6 -9
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/input.py +1 -2
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/local/application.py +605 -38
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/local/executor.py +1 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/local/runner.py +55 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/manifest.py +26 -10
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/run.py +179 -27
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_class-assign/uv.lock +3 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/allocation/uv.lock +3 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/workflow/uv.lock +3 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_hello-world/uv.lock +3 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_class-assign/uv.lock +3 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/allocation/uv.lock +3 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/workflow/uv.lock +3 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_hello-world/uv.lock +3 -3
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/integration/cloud/test_integration_cloud.py +88 -2
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/local/test_application.py +10 -10
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_cache.py +6 -5
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/uv.lock +9 -21
- nextmv-1.8.0.dev0/nextmv/__about__.py +0 -1
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/.python-version +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/LICENSE +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/__entrypoint__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/_serialization.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/account.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/base_model.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cache/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/acceptance/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/account/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/app/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/batch/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/data/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/ensemble/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/input_set/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/instance/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/managed_input/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/app/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/subscription/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/marketplace/version/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/scenario/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/secrets/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/shadow/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/sso/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/sso/domain/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/switchback/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/upload/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/cloud/version/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/community/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/configuration/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/configuration/config.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/local/app/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/manifest/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/server.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/WORKFLOW.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/_helpers.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/acceptance.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/account.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/app.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/batch.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/community.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/ensemble.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/guide.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/input_set.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/instance.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/managed_input.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/profile.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/scenario.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/secrets.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/shadow.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/sso.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/switchback.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cli/mcp/tools/version.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/acceptance_test.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/account.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_acceptance.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_batch_scenario.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_ensemble.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_input_set.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_instance.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_managed_input.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_secrets.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_shadow.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_switchback.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_utils.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/application/_version.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/assets.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/batch_experiment.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/community.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/ensemble.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/input_set.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/instance.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/integration.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/marketplace.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/scenario.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/secrets.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/shadow.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/sso.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/switchback.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/url.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/cloud/version.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/content_format.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/local/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/local/geojson_handler.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/local/local.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/local/plotly_handler.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/local/registry.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/logger.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/model.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/options.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/output.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/polling.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/safe.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/status.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/binary_json.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/binary_json_opt.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/binary_multi-file.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/binary_multi-file_opt.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_json.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_json_hello-world/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_json_hello-world/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_json_hello-world/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_json_hello-world/go.mod +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_json_hello-world/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_json_hello-world/main.go +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_json_opt.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_multi-file.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_multi-file_hello-world/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_multi-file_hello-world/go.mod +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_multi-file_hello-world/main.go +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/go_multi-file_opt.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_json.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_json_hello-world/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_json_hello-world/Main.java +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_json_hello-world/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_json_hello-world/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_json_hello-world/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_json_hello-world/pom.xml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_json_opt.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_multi-file.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_multi-file_hello-world/Main.java +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_multi-file_hello-world/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_multi-file_hello-world/pom.xml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/java_multi-file_opt.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_class-assign/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_class-assign/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_class-assign/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_class-assign/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_class-assign/main.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_class-assign/pyproject.toml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_class-assign/visualizations.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/allocation/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/allocation/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/allocation/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/allocation/main.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/allocation/pyproject.toml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/allocation/visuals.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/workflow/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/workflow/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/workflow/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/workflow/main.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/workflow/pyproject.toml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_demand-alloc/workflow/visuals.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_hello-world/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_hello-world/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_hello-world/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_hello-world/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_hello-world/main.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_hello-world/pyproject.toml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_json_opt.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_class-assign/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_class-assign/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_class-assign/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_class-assign/inputs/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_class-assign/main.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_class-assign/pyproject.toml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_class-assign/visualizations.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/allocation/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/allocation/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/allocation/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/allocation/main.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/allocation/pyproject.toml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/allocation/visuals.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/workflow/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/workflow/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/workflow/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/workflow/inputs/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/workflow/main.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/workflow/pyproject.toml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_demand-alloc/workflow/visuals.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_hello-world/README.md +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_hello-world/main.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_hello-world/pyproject.toml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/templates/python_multi-file_opt.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/nextmv/uv_handler.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/pyproject.toml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cli/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cli/manifest/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cli/manifest/test_init.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cli/test_configuration.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cli/test_init_cli_call.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cli/test_main.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cli/test_mcp.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cli/test_version.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cloud/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cloud/app.yaml +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cloud/test_client.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cloud/test_instance.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cloud/test_package.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/cloud/test_scenario.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/integration/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/integration/cloud/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/integration/cloud/test_integration_marketplace.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/local/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/local/test_executor.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/local/test_registry.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/local/test_runner.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/scripts/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/scripts/options1.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/scripts/options2.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/scripts/options3.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/scripts/options4.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/scripts/options5.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/scripts/options6.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/scripts/options7.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_base_model.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_entrypoint/__init__.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_entrypoint/test_entrypoint.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_input.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_inputs/test_data.csv +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_inputs/test_data.json +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_inputs/test_data.txt +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_logger.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_manifest.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_model.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_options.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_output.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_polling.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_run.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_safe.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_serialization.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_uv_handler.py +0 -0
- {nextmv-1.8.0.dev0 → nextmv-1.9.0.dev0}/tests/test_version.py +0 -0
|
@@ -346,6 +346,9 @@ guidelines:
|
|
|
346
346
|
] = None,
|
|
347
347
|
```
|
|
348
348
|
|
|
349
|
+
- When indenting, prefer to use four spaces as opposed to a tab (`\t`) or
|
|
350
|
+
less/more spacing.
|
|
351
|
+
|
|
349
352
|
#### CLI - User prompts
|
|
350
353
|
|
|
351
354
|
The `message.py` file provides three interactive prompt functions: `confirmation`,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "v1.9.0.dev0"
|
|
@@ -66,12 +66,15 @@ from .run import FormatOutput as FormatOutput
|
|
|
66
66
|
from .run import Metadata as Metadata
|
|
67
67
|
from .run import MetricsIndicator as MetricsIndicator
|
|
68
68
|
from .run import OptionsSummaryItem as OptionsSummaryItem
|
|
69
|
+
from .run import OptionSummary as OptionSummary
|
|
69
70
|
from .run import Run as Run
|
|
70
71
|
from .run import RunConfiguration as RunConfiguration
|
|
71
72
|
from .run import RunInfoMetrics as RunInfoMetrics
|
|
72
73
|
from .run import RunInformation as RunInformation
|
|
73
74
|
from .run import RunInfoStatistics as RunInfoStatistics
|
|
75
|
+
from .run import RunIntegration as RunIntegration
|
|
74
76
|
from .run import RunLog as RunLog
|
|
77
|
+
from .run import RunOptions as RunOptions
|
|
75
78
|
from .run import RunQueuing as RunQueuing
|
|
76
79
|
from .run import RunResult as RunResult
|
|
77
80
|
from .run import RunTrackingMetadata as RunTrackingMetadata
|
|
@@ -33,6 +33,8 @@ _DEPS_CACHE_DIR = _CACHE_DIR / "deps"
|
|
|
33
33
|
"""Directory storing per-package dependency tarballs."""
|
|
34
34
|
_CACHE_INFO_FILE = "cache_info.json"
|
|
35
35
|
"""Name of the metadata file stored alongside each cached entry."""
|
|
36
|
+
_DEP_TARBALL_NAME = "installed.tar.gz"
|
|
37
|
+
"""Name of the per-package tarball containing installed files for a single package."""
|
|
36
38
|
_MAX_DEPS = 2000
|
|
37
39
|
"""Maximum number of individual package tarballs to keep in the cache."""
|
|
38
40
|
_MAX_DEP_BYTES = 5 * 1024**3
|
|
@@ -63,6 +65,12 @@ def get_cache() -> dict[str, Any]:
|
|
|
63
65
|
with open(info_file) as f:
|
|
64
66
|
info = json.load(f)
|
|
65
67
|
|
|
68
|
+
tarball = entry_dir / _DEP_TARBALL_NAME
|
|
69
|
+
try:
|
|
70
|
+
tarball_size = format_bytes(tarball.stat().st_size)
|
|
71
|
+
except OSError:
|
|
72
|
+
tarball_size = ""
|
|
73
|
+
|
|
66
74
|
dependencies.append(
|
|
67
75
|
{
|
|
68
76
|
"key": entry_dir.name,
|
|
@@ -71,13 +79,14 @@ def get_cache() -> dict[str, Any]:
|
|
|
71
79
|
"last_used_at": info.get("last_used_at", ""),
|
|
72
80
|
"python_version": info.get("python_version", ""),
|
|
73
81
|
"platform": info.get("platform", ""),
|
|
82
|
+
"size": tarball_size,
|
|
74
83
|
}
|
|
75
84
|
)
|
|
76
85
|
except Exception:
|
|
77
86
|
pass
|
|
78
87
|
|
|
79
88
|
if dependencies:
|
|
80
|
-
dependencies.sort(key=lambda d: (d["last_used_at"], d["name"], d["version"]))
|
|
89
|
+
dependencies.sort(key=lambda d: (d["last_used_at"], d["name"], d["version"]), reverse=True)
|
|
81
90
|
|
|
82
91
|
return {
|
|
83
92
|
"num_dependencies": num_deps,
|
|
@@ -100,10 +109,7 @@ def clear_cache() -> tuple[int, int]:
|
|
|
100
109
|
return 0, 0
|
|
101
110
|
|
|
102
111
|
num_deps, total_bytes = _cache_stats()
|
|
103
|
-
|
|
104
|
-
if _CACHE_DIR.exists():
|
|
105
|
-
shutil.rmtree(str(_CACHE_DIR))
|
|
106
|
-
|
|
112
|
+
shutil.rmtree(str(_CACHE_DIR))
|
|
107
113
|
_create_cache()
|
|
108
114
|
|
|
109
115
|
return num_deps, total_bytes
|
|
@@ -165,7 +171,7 @@ def get_cached_dep(pkg_key: str) -> Path | None:
|
|
|
165
171
|
|
|
166
172
|
entry_dir = _DEPS_CACHE_DIR / pkg_key
|
|
167
173
|
info_file = entry_dir / _CACHE_INFO_FILE
|
|
168
|
-
installed_tar = entry_dir /
|
|
174
|
+
installed_tar = entry_dir / _DEP_TARBALL_NAME
|
|
169
175
|
|
|
170
176
|
if not installed_tar.is_file() or not info_file.is_file():
|
|
171
177
|
return None
|
|
@@ -225,7 +231,7 @@ def store_dep(
|
|
|
225
231
|
|
|
226
232
|
with tempfile.TemporaryDirectory(dir=_DEPS_CACHE_DIR, prefix=f"{pkg_key}-tmp-", ignore_cleanup_errors=True) as _tmp:
|
|
227
233
|
tmp_entry = Path(_tmp)
|
|
228
|
-
shutil.copy2(str(tar_path), tmp_entry /
|
|
234
|
+
shutil.copy2(str(tar_path), tmp_entry / _DEP_TARBALL_NAME)
|
|
229
235
|
now = _now_iso()
|
|
230
236
|
info = {
|
|
231
237
|
"created_at": now,
|
|
@@ -300,6 +306,11 @@ def _create_cache() -> None:
|
|
|
300
306
|
|
|
301
307
|
_DEPS_CACHE_DIR.mkdir(parents=True, exist_ok=True)
|
|
302
308
|
|
|
309
|
+
# Remove leftover staging dirs from previous crashed/killed runs.
|
|
310
|
+
for entry in _DEPS_CACHE_DIR.iterdir():
|
|
311
|
+
if entry.is_dir() and "-tmp-" in entry.name:
|
|
312
|
+
shutil.rmtree(str(entry), ignore_errors=True)
|
|
313
|
+
|
|
303
314
|
|
|
304
315
|
def _evict_lru(max_entries: int = _MAX_DEPS, max_bytes: int = _MAX_DEP_BYTES) -> int:
|
|
305
316
|
"""
|
|
@@ -324,7 +335,7 @@ def _evict_lru(max_entries: int = _MAX_DEPS, max_bytes: int = _MAX_DEP_BYTES) ->
|
|
|
324
335
|
|
|
325
336
|
entries = []
|
|
326
337
|
for entry_dir in _DEPS_CACHE_DIR.iterdir():
|
|
327
|
-
if not entry_dir.is_dir():
|
|
338
|
+
if not entry_dir.is_dir() or "-tmp-" in entry_dir.name:
|
|
328
339
|
continue
|
|
329
340
|
|
|
330
341
|
info_file = entry_dir / _CACHE_INFO_FILE
|
|
@@ -414,7 +425,7 @@ def _write_json_atomic(path: Path, data: dict) -> None:
|
|
|
414
425
|
tmp = Path(f.name)
|
|
415
426
|
|
|
416
427
|
try:
|
|
417
|
-
|
|
428
|
+
os.replace(tmp, path)
|
|
418
429
|
except Exception as e:
|
|
419
430
|
tmp.unlink(missing_ok=True)
|
|
420
431
|
raise e
|
|
@@ -6,14 +6,14 @@ import typer
|
|
|
6
6
|
|
|
7
7
|
from nextmv.cache import clear_cache, format_bytes
|
|
8
8
|
from nextmv.cli.message import confirmation, info, success
|
|
9
|
-
from nextmv.cli.options import YesOption
|
|
9
|
+
from nextmv.cli.options import DebugOption, YesOption
|
|
10
10
|
|
|
11
11
|
# Set up subcommand application.
|
|
12
12
|
app = typer.Typer()
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
@app.command()
|
|
16
|
-
def delete(yes: YesOption = False) -> None:
|
|
16
|
+
def delete(yes: YesOption = False, _: DebugOption = False) -> None:
|
|
17
17
|
"""
|
|
18
18
|
Deletes the Nextmv cache and resets it to an empty state.
|
|
19
19
|
|
|
@@ -6,13 +6,14 @@ import typer
|
|
|
6
6
|
|
|
7
7
|
from nextmv.cache import get_cache
|
|
8
8
|
from nextmv.cli.message import print_json, success
|
|
9
|
+
from nextmv.cli.options import DebugOption
|
|
9
10
|
|
|
10
11
|
# Set up subcommand application.
|
|
11
12
|
app = typer.Typer()
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
@app.command()
|
|
15
|
-
def get() -> None:
|
|
16
|
+
def get(_: DebugOption = False) -> None:
|
|
16
17
|
"""
|
|
17
18
|
Gets general information about the Nextmv cache.
|
|
18
19
|
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import enum_values, error, in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
13
13
|
from nextmv.cloud.acceptance_test import Comparison, Metric, MetricToleranceType, MetricType, StatisticType
|
|
14
14
|
from nextmv.polling import default_polling_options
|
|
15
15
|
|
|
@@ -267,6 +267,7 @@ def create(
|
|
|
267
267
|
rich_help_panel="Output control",
|
|
268
268
|
),
|
|
269
269
|
] = False,
|
|
270
|
+
_: DebugOption = False,
|
|
270
271
|
profile: ProfileOption = None,
|
|
271
272
|
) -> None:
|
|
272
273
|
cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
|
|
@@ -6,7 +6,7 @@ import typer
|
|
|
6
6
|
|
|
7
7
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
8
8
|
from nextmv.cli.message import confirmation, info, success
|
|
9
|
-
from nextmv.cli.options import AcceptanceTestIDOption, AppIDOption, ProfileOption, YesOption
|
|
9
|
+
from nextmv.cli.options import AcceptanceTestIDOption, AppIDOption, DebugOption, ProfileOption, YesOption
|
|
10
10
|
|
|
11
11
|
# Set up subcommand application.
|
|
12
12
|
app = typer.Typer()
|
|
@@ -17,6 +17,7 @@ def delete(
|
|
|
17
17
|
app_id: AppIDOption,
|
|
18
18
|
acceptance_test_id: AcceptanceTestIDOption,
|
|
19
19
|
yes: YesOption = False,
|
|
20
|
+
_: DebugOption = False,
|
|
20
21
|
profile: ProfileOption = None,
|
|
21
22
|
) -> None:
|
|
22
23
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AcceptanceTestIDOption, AppIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AcceptanceTestIDOption, AppIDOption, DebugOption, ProfileOption
|
|
13
13
|
from nextmv.polling import default_polling_options
|
|
14
14
|
|
|
15
15
|
# Set up subcommand application.
|
|
@@ -45,6 +45,7 @@ def get(
|
|
|
45
45
|
"Specify output location with --output.",
|
|
46
46
|
),
|
|
47
47
|
] = False,
|
|
48
|
+
_: DebugOption = False,
|
|
48
49
|
profile: ProfileOption = None,
|
|
49
50
|
) -> None:
|
|
50
51
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -27,6 +27,7 @@ def list(
|
|
|
27
27
|
metavar="OUTPUT_PATH",
|
|
28
28
|
),
|
|
29
29
|
] = None,
|
|
30
|
+
_: DebugOption = False,
|
|
30
31
|
profile: ProfileOption = None,
|
|
31
32
|
) -> None:
|
|
32
33
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AcceptanceTestIDOption, AppIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AcceptanceTestIDOption, AppIDOption, DebugOption, ProfileOption
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -46,6 +46,7 @@ def update(
|
|
|
46
46
|
metavar="OUTPUT_PATH",
|
|
47
47
|
),
|
|
48
48
|
] = None,
|
|
49
|
+
_: DebugOption = False,
|
|
49
50
|
profile: ProfileOption = None,
|
|
50
51
|
) -> None:
|
|
51
52
|
"""
|
|
@@ -7,7 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.message import in_progress, print_json
|
|
10
|
-
from nextmv.cli.options import ProfileOption
|
|
10
|
+
from nextmv.cli.options import DebugOption, ProfileOption
|
|
11
11
|
from nextmv.cloud.account import Account
|
|
12
12
|
from nextmv.cloud.client import Client
|
|
13
13
|
|
|
@@ -36,6 +36,7 @@ def create(
|
|
|
36
36
|
metavar="NAME",
|
|
37
37
|
),
|
|
38
38
|
],
|
|
39
|
+
_: DebugOption = False,
|
|
39
40
|
profile: ProfileOption = None,
|
|
40
41
|
) -> None:
|
|
41
42
|
"""
|
|
@@ -6,7 +6,7 @@ import typer
|
|
|
6
6
|
|
|
7
7
|
from nextmv.cli.configuration.config import build_account
|
|
8
8
|
from nextmv.cli.message import confirmation, info, success
|
|
9
|
-
from nextmv.cli.options import AccountIDOption, ProfileOption, YesOption
|
|
9
|
+
from nextmv.cli.options import AccountIDOption, DebugOption, ProfileOption, YesOption
|
|
10
10
|
|
|
11
11
|
# Set up subcommand application.
|
|
12
12
|
app = typer.Typer()
|
|
@@ -16,6 +16,7 @@ app = typer.Typer()
|
|
|
16
16
|
def delete(
|
|
17
17
|
account_id: AccountIDOption,
|
|
18
18
|
yes: YesOption = False,
|
|
19
|
+
_: DebugOption = False,
|
|
19
20
|
profile: ProfileOption = None,
|
|
20
21
|
) -> None:
|
|
21
22
|
"""
|
|
@@ -8,7 +8,7 @@ from typing import Annotated
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.message import in_progress, print_json, success
|
|
11
|
-
from nextmv.cli.options import AccountIDOption, ProfileOption
|
|
11
|
+
from nextmv.cli.options import AccountIDOption, DebugOption, ProfileOption
|
|
12
12
|
from nextmv.cloud.account import Account
|
|
13
13
|
from nextmv.cloud.client import Client
|
|
14
14
|
|
|
@@ -28,6 +28,7 @@ def get(
|
|
|
28
28
|
metavar="OUTPUT_PATH",
|
|
29
29
|
),
|
|
30
30
|
] = None,
|
|
31
|
+
_: DebugOption = False,
|
|
31
32
|
profile: ProfileOption = None,
|
|
32
33
|
) -> None:
|
|
33
34
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_account
|
|
11
11
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AccountIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AccountIDOption, DebugOption, ProfileOption
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -36,6 +36,7 @@ def update(
|
|
|
36
36
|
metavar="OUTPUT_PATH",
|
|
37
37
|
),
|
|
38
38
|
] = None,
|
|
39
|
+
_: DebugOption = False,
|
|
39
40
|
profile: ProfileOption = None,
|
|
40
41
|
) -> None:
|
|
41
42
|
"""
|
|
@@ -7,7 +7,7 @@ from typing import Annotated
|
|
|
7
7
|
import typer
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.message import in_progress, print_json
|
|
10
|
-
from nextmv.cli.options import ProfileOption
|
|
10
|
+
from nextmv.cli.options import DebugOption, ProfileOption
|
|
11
11
|
from nextmv.cloud.application import Application
|
|
12
12
|
from nextmv.cloud.client import Client
|
|
13
13
|
|
|
@@ -79,6 +79,7 @@ def create(
|
|
|
79
79
|
metavar="NAME",
|
|
80
80
|
),
|
|
81
81
|
] = None,
|
|
82
|
+
_: DebugOption = False,
|
|
82
83
|
profile: ProfileOption = None,
|
|
83
84
|
) -> None:
|
|
84
85
|
"""
|
|
@@ -6,7 +6,7 @@ import typer
|
|
|
6
6
|
|
|
7
7
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
8
8
|
from nextmv.cli.message import confirmation, info, success
|
|
9
|
-
from nextmv.cli.options import AppIDOption, ProfileOption, YesOption
|
|
9
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption, YesOption
|
|
10
10
|
|
|
11
11
|
# Set up subcommand application.
|
|
12
12
|
app = typer.Typer()
|
|
@@ -16,6 +16,7 @@ app = typer.Typer()
|
|
|
16
16
|
def delete(
|
|
17
17
|
app_id: AppIDOption,
|
|
18
18
|
yes: YesOption = False,
|
|
19
|
+
_: DebugOption = False,
|
|
19
20
|
profile: ProfileOption = None,
|
|
20
21
|
) -> None:
|
|
21
22
|
"""
|
|
@@ -5,7 +5,7 @@ This module defines the cloud app exists command for the Nextmv CLI.
|
|
|
5
5
|
import typer
|
|
6
6
|
|
|
7
7
|
from nextmv.cli.message import in_progress, print_json
|
|
8
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
8
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
9
9
|
from nextmv.cloud.application import Application
|
|
10
10
|
from nextmv.cloud.client import Client
|
|
11
11
|
|
|
@@ -16,6 +16,7 @@ app = typer.Typer()
|
|
|
16
16
|
@app.command()
|
|
17
17
|
def exists(
|
|
18
18
|
app_id: AppIDOption,
|
|
19
|
+
_: DebugOption = False,
|
|
19
20
|
profile: ProfileOption = None,
|
|
20
21
|
) -> None:
|
|
21
22
|
"""
|
|
@@ -8,7 +8,7 @@ from typing import Annotated
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.message import in_progress, print_json, success
|
|
11
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
11
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
12
12
|
from nextmv.cloud.application import Application
|
|
13
13
|
from nextmv.cloud.client import Client
|
|
14
14
|
|
|
@@ -28,6 +28,7 @@ def get(
|
|
|
28
28
|
metavar="OUTPUT_PATH",
|
|
29
29
|
),
|
|
30
30
|
] = None,
|
|
31
|
+
_: DebugOption = False,
|
|
31
32
|
profile: ProfileOption = None,
|
|
32
33
|
) -> None:
|
|
33
34
|
"""
|
|
@@ -8,7 +8,7 @@ from typing import Annotated
|
|
|
8
8
|
import typer
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.message import in_progress, print_json, success
|
|
11
|
-
from nextmv.cli.options import ProfileOption
|
|
11
|
+
from nextmv.cli.options import DebugOption, ProfileOption
|
|
12
12
|
from nextmv.cloud.application import list_applications
|
|
13
13
|
from nextmv.cloud.client import Client
|
|
14
14
|
|
|
@@ -27,6 +27,7 @@ def list(
|
|
|
27
27
|
metavar="OUTPUT_PATH",
|
|
28
28
|
),
|
|
29
29
|
] = None,
|
|
30
|
+
_: DebugOption = False,
|
|
30
31
|
profile: ProfileOption = None,
|
|
31
32
|
) -> None:
|
|
32
33
|
"""
|
|
@@ -11,7 +11,7 @@ from rich.prompt import Prompt
|
|
|
11
11
|
|
|
12
12
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
13
13
|
from nextmv.cli.message import confirmation, error, in_progress, info, success
|
|
14
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
14
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
15
15
|
from nextmv.cloud.application import Application
|
|
16
16
|
from nextmv.manifest import Manifest
|
|
17
17
|
|
|
@@ -100,6 +100,7 @@ def push(
|
|
|
100
100
|
rich_help_panel="Instance control",
|
|
101
101
|
),
|
|
102
102
|
] = None,
|
|
103
|
+
_: DebugOption = False,
|
|
103
104
|
profile: ProfileOption = None,
|
|
104
105
|
) -> None:
|
|
105
106
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import error, in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -63,6 +63,7 @@ def update(
|
|
|
63
63
|
metavar="OUTPUT_PATH",
|
|
64
64
|
),
|
|
65
65
|
] = None,
|
|
66
|
+
_: DebugOption = False,
|
|
66
67
|
profile: ProfileOption = None,
|
|
67
68
|
) -> None:
|
|
68
69
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import error, in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
13
13
|
from nextmv.cloud.batch_experiment import BatchExperimentRun
|
|
14
14
|
from nextmv.polling import default_polling_options
|
|
15
15
|
|
|
@@ -113,6 +113,7 @@ def create(
|
|
|
113
113
|
rich_help_panel="Output control",
|
|
114
114
|
),
|
|
115
115
|
] = False,
|
|
116
|
+
_: DebugOption = False,
|
|
116
117
|
profile: ProfileOption = None,
|
|
117
118
|
) -> None:
|
|
118
119
|
"""
|
|
@@ -6,7 +6,7 @@ import typer
|
|
|
6
6
|
|
|
7
7
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
8
8
|
from nextmv.cli.message import confirmation, info, success
|
|
9
|
-
from nextmv.cli.options import AppIDOption, BatchExperimentIDOption, ProfileOption, YesOption
|
|
9
|
+
from nextmv.cli.options import AppIDOption, BatchExperimentIDOption, DebugOption, ProfileOption, YesOption
|
|
10
10
|
|
|
11
11
|
# Set up subcommand application.
|
|
12
12
|
app = typer.Typer()
|
|
@@ -17,6 +17,7 @@ def delete(
|
|
|
17
17
|
app_id: AppIDOption,
|
|
18
18
|
batch_experiment_id: BatchExperimentIDOption,
|
|
19
19
|
yes: YesOption = False,
|
|
20
|
+
_: DebugOption = False,
|
|
20
21
|
profile: ProfileOption = None,
|
|
21
22
|
) -> None:
|
|
22
23
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, BatchExperimentIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, BatchExperimentIDOption, DebugOption, ProfileOption
|
|
13
13
|
from nextmv.polling import default_polling_options
|
|
14
14
|
|
|
15
15
|
# Set up subcommand application.
|
|
@@ -45,6 +45,7 @@ def get(
|
|
|
45
45
|
"Specify output location with --output.",
|
|
46
46
|
),
|
|
47
47
|
] = False,
|
|
48
|
+
_: DebugOption = False,
|
|
48
49
|
profile: ProfileOption = None,
|
|
49
50
|
) -> None:
|
|
50
51
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -27,6 +27,7 @@ def list(
|
|
|
27
27
|
metavar="OUTPUT_PATH",
|
|
28
28
|
),
|
|
29
29
|
] = None,
|
|
30
|
+
_: DebugOption = False,
|
|
30
31
|
profile: ProfileOption = None,
|
|
31
32
|
) -> None:
|
|
32
33
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, BatchExperimentIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, BatchExperimentIDOption, DebugOption, ProfileOption
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -28,6 +28,7 @@ def metadata(
|
|
|
28
28
|
metavar="OUTPUT_PATH",
|
|
29
29
|
),
|
|
30
30
|
] = None,
|
|
31
|
+
_: DebugOption = False,
|
|
31
32
|
profile: ProfileOption = None,
|
|
32
33
|
) -> None:
|
|
33
34
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, BatchExperimentIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, BatchExperimentIDOption, DebugOption, ProfileOption
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -46,6 +46,7 @@ def update(
|
|
|
46
46
|
metavar="OUTPUT_PATH",
|
|
47
47
|
),
|
|
48
48
|
] = None,
|
|
49
|
+
_: DebugOption = False,
|
|
49
50
|
profile: ProfileOption = None,
|
|
50
51
|
) -> None:
|
|
51
52
|
"""
|
|
@@ -12,7 +12,7 @@ import typer
|
|
|
12
12
|
|
|
13
13
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
14
14
|
from nextmv.cli.message import error, in_progress, success
|
|
15
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
15
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
16
16
|
from nextmv.cloud.application import Application
|
|
17
17
|
|
|
18
18
|
# Set up subcommand application.
|
|
@@ -42,6 +42,7 @@ def upload(
|
|
|
42
42
|
metavar="INPUT_PATH",
|
|
43
43
|
),
|
|
44
44
|
] = None,
|
|
45
|
+
_: DebugOption = False,
|
|
45
46
|
profile: ProfileOption = None,
|
|
46
47
|
) -> None:
|
|
47
48
|
"""
|
|
@@ -8,7 +8,7 @@ import typer
|
|
|
8
8
|
|
|
9
9
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
10
10
|
from nextmv.cli.message import enum_values, error, in_progress, print_json
|
|
11
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
11
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
12
12
|
from nextmv.cloud.ensemble import EvaluationRule, RuleObjective, RuleTolerance, RuleToleranceType, RunGroup
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
@@ -217,6 +217,7 @@ def create(
|
|
|
217
217
|
metavar="ENSEMBLE_DEFINITION_ID",
|
|
218
218
|
),
|
|
219
219
|
] = None,
|
|
220
|
+
_: DebugOption = False,
|
|
220
221
|
profile: ProfileOption = None,
|
|
221
222
|
) -> None:
|
|
222
223
|
cloud_app, _ = build_cloud_app(app_id=app_id, profile=profile)
|
|
@@ -6,7 +6,7 @@ import typer
|
|
|
6
6
|
|
|
7
7
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
8
8
|
from nextmv.cli.message import confirmation, info, success
|
|
9
|
-
from nextmv.cli.options import AppIDOption, EnsembleDefinitionIDOption, ProfileOption, YesOption
|
|
9
|
+
from nextmv.cli.options import AppIDOption, DebugOption, EnsembleDefinitionIDOption, ProfileOption, YesOption
|
|
10
10
|
|
|
11
11
|
# Set up subcommand application.
|
|
12
12
|
app = typer.Typer()
|
|
@@ -17,6 +17,7 @@ def delete(
|
|
|
17
17
|
app_id: AppIDOption,
|
|
18
18
|
ensemble_definition_id: EnsembleDefinitionIDOption,
|
|
19
19
|
yes: YesOption = False,
|
|
20
|
+
_: DebugOption = False,
|
|
20
21
|
profile: ProfileOption = None,
|
|
21
22
|
) -> None:
|
|
22
23
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, EnsembleDefinitionIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, DebugOption, EnsembleDefinitionIDOption, ProfileOption
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -28,6 +28,7 @@ def get(
|
|
|
28
28
|
metavar="OUTPUT_PATH",
|
|
29
29
|
),
|
|
30
30
|
] = None,
|
|
31
|
+
_: DebugOption = False,
|
|
31
32
|
profile: ProfileOption = None,
|
|
32
33
|
) -> None:
|
|
33
34
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, DebugOption, ProfileOption
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -27,6 +27,7 @@ def list(
|
|
|
27
27
|
metavar="OUTPUT_PATH",
|
|
28
28
|
),
|
|
29
29
|
] = None,
|
|
30
|
+
_: DebugOption = False,
|
|
30
31
|
profile: ProfileOption = None,
|
|
31
32
|
) -> None:
|
|
32
33
|
"""
|
|
@@ -9,7 +9,7 @@ import typer
|
|
|
9
9
|
|
|
10
10
|
from nextmv.cli.configuration.config import build_cloud_app
|
|
11
11
|
from nextmv.cli.message import error, in_progress, print_json, success
|
|
12
|
-
from nextmv.cli.options import AppIDOption, EnsembleDefinitionIDOption, ProfileOption
|
|
12
|
+
from nextmv.cli.options import AppIDOption, DebugOption, EnsembleDefinitionIDOption, ProfileOption
|
|
13
13
|
|
|
14
14
|
# Set up subcommand application.
|
|
15
15
|
app = typer.Typer()
|
|
@@ -46,6 +46,7 @@ def update(
|
|
|
46
46
|
metavar="OUTPUT_PATH",
|
|
47
47
|
),
|
|
48
48
|
] = None,
|
|
49
|
+
_: DebugOption = False,
|
|
49
50
|
profile: ProfileOption = None,
|
|
50
51
|
) -> None:
|
|
51
52
|
"""
|