nextmv 1.7.4.dev3__tar.gz → 1.7.4.dev5__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.7.4.dev3 → nextmv-1.7.4.dev5}/PKG-INFO +1 -1
- nextmv-1.7.4.dev5/nextmv/__about__.py +1 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/WORKFLOW.md +4 -2
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/local/executor.py +9 -11
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/manifest.py +16 -7
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json.yaml +1 -1
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_class-assign/README.md +28 -4
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_class-assign/app.yaml +1 -1
- nextmv-1.7.4.dev5/nextmv/templates/python_json_class-assign/pyproject.toml +9 -0
- nextmv-1.7.4.dev5/nextmv/templates/python_json_class-assign/uv.lock +992 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/allocation/README.md +27 -4
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/allocation/app.yaml +1 -1
- nextmv-1.7.4.dev5/nextmv/templates/python_json_demand-alloc/allocation/pyproject.toml +10 -0
- nextmv-1.7.4.dev5/nextmv/templates/python_json_demand-alloc/allocation/uv.lock +995 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/workflow/README.md +26 -4
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/workflow/app.yaml +1 -1
- nextmv-1.7.4.dev5/nextmv/templates/python_json_demand-alloc/workflow/pyproject.toml +11 -0
- nextmv-1.7.4.dev5/nextmv/templates/python_json_demand-alloc/workflow/uv.lock +1405 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_hello-world/README.md +24 -5
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_hello-world/app.yaml +1 -1
- nextmv-1.7.4.dev5/nextmv/templates/python_json_hello-world/pyproject.toml +8 -0
- nextmv-1.7.4.dev5/nextmv/templates/python_json_hello-world/uv.lock +893 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_opt.yaml +1 -1
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file.yaml +1 -1
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_class-assign/README.md +28 -4
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_class-assign/app.yaml +1 -1
- nextmv-1.7.4.dev5/nextmv/templates/python_multi-file_class-assign/pyproject.toml +9 -0
- nextmv-1.7.4.dev5/nextmv/templates/python_multi-file_class-assign/uv.lock +992 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/allocation/README.md +28 -4
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/allocation/app.yaml +1 -1
- nextmv-1.7.4.dev5/nextmv/templates/python_multi-file_demand-alloc/allocation/pyproject.toml +10 -0
- nextmv-1.7.4.dev5/nextmv/templates/python_multi-file_demand-alloc/allocation/uv.lock +995 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/workflow/README.md +26 -4
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/workflow/app.yaml +1 -1
- nextmv-1.7.4.dev5/nextmv/templates/python_multi-file_demand-alloc/workflow/pyproject.toml +11 -0
- nextmv-1.7.4.dev5/nextmv/templates/python_multi-file_demand-alloc/workflow/uv.lock +1405 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_hello-world/README.md +23 -4
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_hello-world/app.yaml +1 -1
- nextmv-1.7.4.dev5/nextmv/templates/python_multi-file_hello-world/pyproject.toml +8 -0
- nextmv-1.7.4.dev5/nextmv/templates/python_multi-file_hello-world/uv.lock +893 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_opt.yaml +1 -1
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/local/test_application.py +3 -3
- nextmv-1.7.4.dev3/nextmv/__about__.py +0 -1
- nextmv-1.7.4.dev3/nextmv/templates/python_json_class-assign/requirements.txt +0 -3
- nextmv-1.7.4.dev3/nextmv/templates/python_json_demand-alloc/allocation/requirements.txt +0 -4
- nextmv-1.7.4.dev3/nextmv/templates/python_json_demand-alloc/workflow/requirements.txt +0 -5
- nextmv-1.7.4.dev3/nextmv/templates/python_json_hello-world/requirements.txt +0 -2
- nextmv-1.7.4.dev3/nextmv/templates/python_multi-file_class-assign/requirements.txt +0 -3
- nextmv-1.7.4.dev3/nextmv/templates/python_multi-file_demand-alloc/allocation/requirements.txt +0 -4
- nextmv-1.7.4.dev3/nextmv/templates/python_multi-file_demand-alloc/workflow/requirements.txt +0 -5
- nextmv-1.7.4.dev3/nextmv/templates/python_multi-file_hello-world/requirements.txt +0 -2
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/.python-version +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/CONTRIBUTING.md +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/LICENSE +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/README.md +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/__entrypoint__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/_serialization.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/account.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/base_model.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/acceptance/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/acceptance/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/acceptance/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/acceptance/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/acceptance/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/acceptance/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/account/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/account/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/account/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/account/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/account/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/app/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/app/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/app/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/app/exists.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/app/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/app/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/app/push.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/app/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/batch/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/batch/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/batch/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/batch/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/batch/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/batch/metadata.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/batch/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/data/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/data/upload.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/ensemble/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/ensemble/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/ensemble/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/ensemble/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/ensemble/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/ensemble/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/input_set/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/input_set/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/input_set/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/input_set/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/input_set/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/input_set/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/instance/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/instance/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/instance/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/instance/exists.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/instance/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/instance/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/instance/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/managed_input/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/managed_input/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/managed_input/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/managed_input/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/managed_input/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/managed_input/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/app/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/app/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/app/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/app/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/app/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/subscription/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/subscription/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/subscription/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/subscription/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/subscription/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/version/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/version/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/version/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/version/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/marketplace/version/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/run/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/run/cancel.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/run/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/run/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/run/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/run/input.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/run/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/run/logs.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/run/metadata.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/run/track.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/scenario/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/scenario/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/scenario/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/scenario/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/scenario/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/scenario/metadata.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/scenario/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/secrets/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/secrets/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/secrets/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/secrets/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/secrets/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/secrets/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/shadow/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/shadow/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/shadow/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/shadow/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/shadow/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/shadow/metadata.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/shadow/start.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/shadow/stop.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/shadow/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/sso/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/sso/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/sso/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/sso/disable.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/sso/domain/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/sso/domain/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/sso/enable.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/sso/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/sso/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/switchback/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/switchback/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/switchback/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/switchback/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/switchback/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/switchback/metadata.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/switchback/start.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/switchback/stop.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/switchback/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/upload/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/upload/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/version/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/version/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/version/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/version/exists.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/version/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/version/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/cloud/version/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/community/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/community/clone.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/community/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/configuration/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/configuration/config.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/configuration/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/configuration/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/configuration/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/init.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/app/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/app/delete.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/app/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/app/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/app/register.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/app/registered.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/app/sync.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/app/update.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/run/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/run/create.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/run/get.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/run/input.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/run/list.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/run/logs.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/run/metadata.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/local/run/visuals.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/main.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/manifest/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/manifest/init.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/manifest/validate.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/serve.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/server.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/_helpers.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/acceptance.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/account.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/app.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/batch.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/community.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/ensemble.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/guide.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/input_set.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/instance.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/local.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/managed_input.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/profile.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/run.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/scenario.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/secrets.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/shadow.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/sso.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/switchback.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/mcp/tools/version.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/message.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/options.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cli/version.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/acceptance_test.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/account.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_acceptance.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_batch_scenario.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_ensemble.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_input_set.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_instance.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_managed_input.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_run.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_secrets.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_shadow.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_switchback.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_utils.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/application/_version.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/assets.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/batch_experiment.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/client.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/community.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/ensemble.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/input_set.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/instance.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/integration.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/marketplace.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/package.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/scenario.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/secrets.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/shadow.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/sso.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/switchback.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/url.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/cloud/version.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/content_format.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/deprecated.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/input.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/local/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/local/application.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/local/geojson_handler.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/local/local.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/local/plotly_handler.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/local/registry.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/local/runner.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/logger.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/model.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/options.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/output.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/polling.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/run.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/safe.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/status.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/binary_json.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/binary_json_opt.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/binary_multi-file.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/binary_multi-file_opt.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_json.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_json_hello-world/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_json_hello-world/README.md +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_json_hello-world/app.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_json_hello-world/go.mod +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_json_hello-world/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_json_hello-world/main.go +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_json_opt.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_multi-file.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_multi-file_hello-world/README.md +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_multi-file_hello-world/go.mod +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_multi-file_hello-world/main.go +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/go_multi-file_opt.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_json.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_json_hello-world/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_json_hello-world/Main.java +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_json_hello-world/README.md +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_json_hello-world/app.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_json_hello-world/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_json_hello-world/pom.xml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_json_opt.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_multi-file.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_multi-file_hello-world/Main.java +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_multi-file_hello-world/README.md +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_multi-file_hello-world/app.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_multi-file_hello-world/pom.xml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/java_multi-file_opt.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_class-assign/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_class-assign/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_class-assign/main.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_class-assign/visualizations.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/README.md +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/allocation/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/allocation/main.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/allocation/visuals.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/workflow/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/workflow/main.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_demand-alloc/workflow/visuals.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_hello-world/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_hello-world/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_json_hello-world/main.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_class-assign/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_class-assign/inputs/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_class-assign/main.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_class-assign/visualizations.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/README.md +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/allocation/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/allocation/main.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/allocation/visuals.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/workflow/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/workflow/inputs/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/workflow/main.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_demand-alloc/workflow/visuals.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_hello-world/.gitignore +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_hello-world/inputs/input.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/templates/python_multi-file_hello-world/main.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/nextmv/uv_handler.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/pyproject.toml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cli/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cli/manifest/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cli/manifest/test_init.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cli/test_configuration.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cli/test_init_cli_call.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cli/test_main.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cli/test_mcp.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cli/test_version.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cloud/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cloud/app.yaml +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cloud/test_client.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cloud/test_instance.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cloud/test_package.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/cloud/test_scenario.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/integration/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/integration/cloud/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/integration/cloud/test_integration_cloud.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/integration/cloud/test_integration_marketplace.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/local/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/local/test_executor.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/local/test_registry.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/local/test_runner.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/scripts/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/scripts/options1.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/scripts/options2.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/scripts/options3.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/scripts/options4.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/scripts/options5.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/scripts/options6.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/scripts/options7.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_base_model.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_entrypoint/__init__.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_entrypoint/test_entrypoint.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_input.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_inputs/test_data.csv +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_inputs/test_data.json +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_inputs/test_data.txt +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_logger.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_manifest.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_model.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_options.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_output.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_polling.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_run.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_safe.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_serialization.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_uv_handler.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/tests/test_version.py +0 -0
- {nextmv-1.7.4.dev3 → nextmv-1.7.4.dev5}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "v1.7.4.dev5"
|
|
@@ -55,7 +55,7 @@ Input is a single JSON file via stdin; output is a single JSON object via stdout
|
|
|
55
55
|
type: python
|
|
56
56
|
runtime: ghcr.io/nextmv-io/runtime/python:3.11
|
|
57
57
|
python:
|
|
58
|
-
pip-requirements: requirements.txt
|
|
58
|
+
pip-requirements: pyproject.toml # Can be a requirements.txt
|
|
59
59
|
|
|
60
60
|
files:
|
|
61
61
|
- main.py
|
|
@@ -93,7 +93,7 @@ Input and output are directories of files. Use when the solver writes its own ou
|
|
|
93
93
|
type: python
|
|
94
94
|
runtime: ghcr.io/nextmv-io/runtime/python:3.11
|
|
95
95
|
python:
|
|
96
|
-
pip-requirements: requirements.txt
|
|
96
|
+
pip-requirements: pyproject.toml # Can be a requirements.txt
|
|
97
97
|
|
|
98
98
|
files:
|
|
99
99
|
- main.py
|
|
@@ -269,12 +269,14 @@ Include `input.json` (default) plus an `inputs/` directory with 3-5 files varyin
|
|
|
269
269
|
### Run locally
|
|
270
270
|
|
|
271
271
|
**JSON format:**
|
|
272
|
+
|
|
272
273
|
```
|
|
273
274
|
local_run(app_dir=".", input=<parsed input.json>)
|
|
274
275
|
local_run(app_dir=".", input=<parsed inputs/large.json>, run_options={"solve.duration": "30s"})
|
|
275
276
|
```
|
|
276
277
|
|
|
277
278
|
**Multi-file format:**
|
|
279
|
+
|
|
278
280
|
```
|
|
279
281
|
local_run(app_dir=".", input_dir_path="input", content_format="multi-file")
|
|
280
282
|
```
|
|
@@ -1079,7 +1079,7 @@ def __determine_cwd(manifest: Manifest, default: str) -> str:
|
|
|
1079
1079
|
return default
|
|
1080
1080
|
|
|
1081
1081
|
|
|
1082
|
-
def __determine_command(manifest: Manifest) -> list[str]:
|
|
1082
|
+
def __determine_command(manifest: Manifest) -> list[str]: # noqa: C901
|
|
1083
1083
|
"""
|
|
1084
1084
|
Returns the command to execute based on the application type.
|
|
1085
1085
|
|
|
@@ -1105,19 +1105,17 @@ def __determine_command(manifest: Manifest) -> list[str]:
|
|
|
1105
1105
|
|
|
1106
1106
|
if manifest.python and manifest.python.pip_requirements:
|
|
1107
1107
|
if isinstance(manifest.python.pip_requirements, list):
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
"--with",
|
|
1111
|
-
|
|
1112
|
-
]
|
|
1108
|
+
with_args = []
|
|
1109
|
+
for dep in manifest.python.pip_requirements:
|
|
1110
|
+
with_args += ["--with", dep]
|
|
1111
|
+
return [*entry_point, *with_args]
|
|
1113
1112
|
elif isinstance(manifest.python.pip_requirements, str):
|
|
1114
1113
|
if manifest.python.pip_requirements.endswith(".toml"):
|
|
1115
1114
|
deps = read_pyproject_dependencies(manifest.python.pip_requirements)
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
"--with",
|
|
1119
|
-
|
|
1120
|
-
]
|
|
1115
|
+
with_args = []
|
|
1116
|
+
for dep in deps:
|
|
1117
|
+
with_args += ["--with", dep]
|
|
1118
|
+
return [*entry_point, *with_args]
|
|
1121
1119
|
return [
|
|
1122
1120
|
*entry_point,
|
|
1123
1121
|
"--with-requirements",
|
|
@@ -1811,25 +1811,27 @@ class Manifest(BaseModel):
|
|
|
1811
1811
|
|
|
1812
1812
|
def read_pyproject_dependencies(path: str) -> list[str]:
|
|
1813
1813
|
"""
|
|
1814
|
-
Read
|
|
1815
|
-
|
|
1814
|
+
Read `[project].dependencies` from a `pyproject.toml` file using the
|
|
1815
|
+
PEP 621 `[project]` table.
|
|
1816
1816
|
|
|
1817
1817
|
Parameters
|
|
1818
1818
|
----------
|
|
1819
1819
|
path : str
|
|
1820
|
-
Absolute or relative path to the
|
|
1820
|
+
Absolute or relative path to the `pyproject.toml` file.
|
|
1821
1821
|
|
|
1822
1822
|
Returns
|
|
1823
1823
|
-------
|
|
1824
1824
|
list[str]
|
|
1825
|
-
The list of dependency specifiers found under
|
|
1825
|
+
The list of dependency specifiers found under `[project].dependencies`.
|
|
1826
1826
|
|
|
1827
1827
|
Raises
|
|
1828
1828
|
------
|
|
1829
1829
|
ValueError
|
|
1830
|
-
If
|
|
1830
|
+
If `[project].dependencies` is absent or is not a list.
|
|
1831
1831
|
"""
|
|
1832
1832
|
|
|
1833
|
+
# tomllib comes standard with Python 3.11, for earlier versions we need to
|
|
1834
|
+
# use a third-party library.
|
|
1833
1835
|
if sys.version_info >= (3, 11):
|
|
1834
1836
|
import tomllib
|
|
1835
1837
|
else:
|
|
@@ -1840,10 +1842,17 @@ def read_pyproject_dependencies(path: str) -> list[str]:
|
|
|
1840
1842
|
|
|
1841
1843
|
deps = data.get("project", {}).get("dependencies")
|
|
1842
1844
|
if deps is None:
|
|
1843
|
-
raise ValueError(f"`[project.dependencies
|
|
1845
|
+
raise ValueError(f"`[project].dependencies` not found in `{path}`")
|
|
1844
1846
|
|
|
1845
1847
|
if not isinstance(deps, list):
|
|
1846
|
-
raise ValueError(f"`[project.dependencies
|
|
1848
|
+
raise ValueError(f"`[project].dependencies` in `{path}` must be a list")
|
|
1849
|
+
|
|
1850
|
+
for index, dep in enumerate(deps):
|
|
1851
|
+
if not isinstance(dep, str):
|
|
1852
|
+
raise ValueError(
|
|
1853
|
+
f"`[project].dependencies` in `{path}` must contain only strings; "
|
|
1854
|
+
f"found {type(dep).__name__} at index {index}"
|
|
1855
|
+
)
|
|
1847
1856
|
|
|
1848
1857
|
return deps
|
|
1849
1858
|
|
|
@@ -7,7 +7,7 @@ runtime: ghcr.io/nextmv-io/runtime/python:3.11
|
|
|
7
7
|
# Python-specific configurations.
|
|
8
8
|
python:
|
|
9
9
|
# All listed packages will get bundled with the app.
|
|
10
|
-
pip-requirements: requirements.txt
|
|
10
|
+
pip-requirements: pyproject.toml # Can be a requirements.txt
|
|
11
11
|
|
|
12
12
|
# List all files/directories that should be included in the app. Globbing
|
|
13
13
|
# (e.g.: configs/*.json) is supported.
|
|
@@ -13,31 +13,55 @@ This is the basic structure:
|
|
|
13
13
|
```text
|
|
14
14
|
├── app.yaml
|
|
15
15
|
├── main.py
|
|
16
|
+
├── pyproject.toml
|
|
16
17
|
├── README.md
|
|
17
|
-
├──
|
|
18
|
+
├── uv.lock
|
|
18
19
|
└── visualizations.py
|
|
19
20
|
```
|
|
20
21
|
|
|
21
22
|
* `app.yaml`: App manifest, containing the configuration to run the app with Nextmv.
|
|
22
23
|
* `main.py`: Entrypoint for the app. Loads input data, solves the assignment
|
|
23
24
|
problem, and writes the output.
|
|
25
|
+
* `pyproject.toml`: Python project configuration.
|
|
24
26
|
* `README.md`: Description of the app.
|
|
25
|
-
* `
|
|
27
|
+
* `uv.lock`: Lockfile for the Python dependencies. This file is generated by
|
|
28
|
+
`uv` and should not be edited manually.
|
|
26
29
|
* `visualizations.py`: Generates visual assets from the solution.
|
|
27
30
|
|
|
28
31
|
A sample input file is also provided as `input.json`. It contains students
|
|
29
32
|
(with preferences, priority, class level, and optional extended-day requests)
|
|
30
33
|
and classes to assign them to.
|
|
31
34
|
|
|
32
|
-
1.
|
|
35
|
+
1. Sync the project.
|
|
36
|
+
|
|
37
|
+
With `uv`
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
uv sync
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
With `pip`
|
|
33
44
|
|
|
34
45
|
```bash
|
|
35
|
-
pip install
|
|
46
|
+
pip install .
|
|
36
47
|
```
|
|
37
48
|
|
|
38
49
|
2. Run the app. Options can be omitted and will default to the values specified
|
|
39
50
|
in `app.yaml`.
|
|
40
51
|
|
|
52
|
+
With `uv`
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
cat input.json | uv run main.py \
|
|
56
|
+
--duration 30 \
|
|
57
|
+
--solver highs \
|
|
58
|
+
--extended_day_time 17 \
|
|
59
|
+
--extended_day_bonus 2.0 \
|
|
60
|
+
--extended_day_penalty 0.5
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
With `python`
|
|
64
|
+
|
|
41
65
|
```bash
|
|
42
66
|
cat input.json | python main.py \
|
|
43
67
|
--duration 30 \
|
|
@@ -7,7 +7,7 @@ runtime: ghcr.io/nextmv-io/runtime/python:3.11
|
|
|
7
7
|
# Python-specific configurations.
|
|
8
8
|
python:
|
|
9
9
|
# All listed packages will get bundled with the app.
|
|
10
|
-
pip-requirements: requirements.txt
|
|
10
|
+
pip-requirements: pyproject.toml # Can be a requirements.txt
|
|
11
11
|
|
|
12
12
|
# List all files/directories that should be included in the app. Globbing
|
|
13
13
|
# (e.g.: configs/*.json) is supported.
|