modal 1.5.5.dev6__tar.gz → 1.5.5.dev7__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.
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/PKG-INFO +1 -1
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_environments.py +8 -3
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_functions.py +1 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/environment.py +11 -5
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/client.pyi +2 -2
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/environments.pyi +12 -2
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/api_pb2.py +860 -860
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/api_pb2.pyi +10 -2
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_version/__init__.py +1 -1
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/LICENSE +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/README.md +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/__main__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_billing.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_clustered_functions.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_clustered_functions.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_container_entrypoint.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_function_variants.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_grpc_client.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_image.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_ipython.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_load_context.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_location.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_logs.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_logs_manager.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_logs_manager.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_object.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_output/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_output/manager.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_output/pty.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_output/rich.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_output/status.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_partial_function.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_resolver.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_resources.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/asgi.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/execution_context.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/task_lifecycle_manager.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/task_lifecycle_manager.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/telemetry.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/user_code_event_loop.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_serialization.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_server.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_supports_logs.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_traceback.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_tunnel.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_tunnel.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_type_manager.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/app_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/async_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/blob_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/browser_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/curl_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/deprecation.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/display_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/docker_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/function_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/git_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/hash_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/http_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/logger.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/mount_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/name_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/package_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/proxy_support.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/sandbox_fs_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/shell_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/task_command_router_client.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_utils/time_utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_vendor/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_vendor/tblib.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_vendor/version.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_watcher.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/_workspace.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/app.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/app.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/billing.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/billing.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/builder/2023.12.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/builder/2024.04.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/builder/2024.10.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/builder/2025.06.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/builder/README.md +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/builder/base-images.json +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/call_graph.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/_download.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/_help.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/_traceback.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/app.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/billing.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/bootstrap.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/changelog.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/cluster.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/config.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/container.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/curl.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/dashboard.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/dict.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/endpoint.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/entry_point.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/image.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/import_refs.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/launch.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/logo.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/network_file_system.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/profile.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/programs/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/programs/vscode.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/queues.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/run.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/secret.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/selector.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/shell.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/skills.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/token.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/utils.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/volume.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cli/workspace.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/client.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cls.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/cls.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/config.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/container_process.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/container_process.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/dict.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/dict.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/environments.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/exception.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/experimental/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/experimental/flash.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/experimental/flash.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/experimental/ipython.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/file_io.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/file_io.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/file_pattern_matcher.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/functions.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/functions.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/image.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/image.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/io_streams.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/io_streams.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/mount.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/mount.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/network_file_system.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/network_file_system.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/object.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/object.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/output.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/parallel_map.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/parallel_map.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/partial_function.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/partial_function.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/proxy.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/proxy.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/py.typed +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/queue.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/queue.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/retries.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/runner.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/runner.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/running_app.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/sandbox.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/sandbox.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/sandbox_fs.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/sandbox_fs.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/schedule.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/scheduler_placement.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/secret.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/secret.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/server.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/server.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/serving.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/serving.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/skills/modal/SKILL.md +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/snapshot.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/snapshot.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/stream_type.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/token_flow.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/token_flow.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/types.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/volume.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/volume.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/workspace.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal/workspace.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal.egg-info/requires.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal.egg-info/top_level.txt +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_docs/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_docs/gen_cli_docs_main.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_docs/gen_reference_docs_main.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_docs/mdmd/types.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_docs/reference_intro.md +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/__init__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/api_grpc.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/py.typed +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/task_command_router_grpc.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/task_command_router_pb2.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/task_command_router_pb2.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/task_command_router_pb2_grpc.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/modal_version/__main__.py +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/pyproject.toml +0 -0
- {modal-1.5.5.dev6 → modal-1.5.5.dev7}/setup.cfg +0 -0
|
@@ -120,9 +120,12 @@ class _EnvironmentRolesManager:
|
|
|
120
120
|
"""mdmd:hidden"""
|
|
121
121
|
self._environment = environment
|
|
122
122
|
|
|
123
|
-
async def list(self) -> dict[Literal["users", "service_users"], dict[str, str]]:
|
|
123
|
+
async def list(self, *, exclude_default: bool = False) -> dict[Literal["users", "service_users"], dict[str, str]]:
|
|
124
124
|
"""Enumerate the Environment Role for each user and service user in the workspace.
|
|
125
125
|
|
|
126
|
+
Args:
|
|
127
|
+
exclude_default: If `True`, only include roles that are directly assigned.
|
|
128
|
+
|
|
126
129
|
**Examples:**
|
|
127
130
|
|
|
128
131
|
```python notest
|
|
@@ -141,6 +144,8 @@ class _EnvironmentRolesManager:
|
|
|
141
144
|
users: dict[str, str] = {}
|
|
142
145
|
service_users: dict[str, str] = {}
|
|
143
146
|
for principal in resp.principal_roles:
|
|
147
|
+
if exclude_default and not principal.has_role_assignment:
|
|
148
|
+
continue
|
|
144
149
|
if principal.user_id:
|
|
145
150
|
users[principal.user_name] = principal.role_str
|
|
146
151
|
elif principal.service_user_id:
|
|
@@ -256,8 +261,8 @@ class _EnvironmentMembersManager:
|
|
|
256
261
|
"""Remove the Environment Role of users and service users, reverting them to the default."""
|
|
257
262
|
deprecation_warning(
|
|
258
263
|
(2026, 7, 23),
|
|
259
|
-
"`Environment.members.remove()` is deprecated
|
|
260
|
-
"
|
|
264
|
+
"`Environment.members.remove()` is deprecated; assign a role (e.g. 'no-access') with "
|
|
265
|
+
"`Environment.roles.update()` instead.",
|
|
261
266
|
)
|
|
262
267
|
await self._environment.hydrate()
|
|
263
268
|
users = users or []
|
|
@@ -1110,6 +1110,7 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
|
1110
1110
|
http_config=http_config,
|
|
1111
1111
|
is_server=function_definition.is_server,
|
|
1112
1112
|
routing_region=function_definition.routing_region,
|
|
1113
|
+
is_sessioned=function_definition.is_sessioned,
|
|
1113
1114
|
)
|
|
1114
1115
|
|
|
1115
1116
|
ranked_functions = []
|
|
@@ -147,8 +147,8 @@ service_user_option = click.option(
|
|
|
147
147
|
)
|
|
148
148
|
|
|
149
149
|
|
|
150
|
-
def _render_roles_list(environment: str, json: bool) -> None:
|
|
151
|
-
roles = Environment.from_name(environment).roles.list()
|
|
150
|
+
def _render_roles_list(environment: str, json: bool, exclude_default: bool = False) -> None:
|
|
151
|
+
roles = Environment.from_name(environment).roles.list(exclude_default=exclude_default)
|
|
152
152
|
if json:
|
|
153
153
|
# Mirror the API output shape: a nested dict keyed by users / service_users.
|
|
154
154
|
OutputManager.get().print_json(json_mod.dumps(roles))
|
|
@@ -200,9 +200,15 @@ environment_cli.add_command(roles_cli)
|
|
|
200
200
|
|
|
201
201
|
@roles_cli.command("list", help="List the roles of each user and service user in an Environment", no_args_is_help=True)
|
|
202
202
|
@click.argument("environment")
|
|
203
|
+
@click.option(
|
|
204
|
+
"--exclude-default",
|
|
205
|
+
is_flag=True,
|
|
206
|
+
default=False,
|
|
207
|
+
help="Only list roles that are directly assigned",
|
|
208
|
+
)
|
|
203
209
|
@click.option("--json", is_flag=True, default=False)
|
|
204
|
-
def roles_list(environment: str, json: bool = False):
|
|
205
|
-
_render_roles_list(environment, json)
|
|
210
|
+
def roles_list(environment: str, json: bool = False, exclude_default: bool = False):
|
|
211
|
+
_render_roles_list(environment, json, exclude_default=exclude_default)
|
|
206
212
|
|
|
207
213
|
|
|
208
214
|
@roles_cli.command("update", help="Update a user's or service user's role in an Environment", no_args_is_help=True)
|
|
@@ -258,7 +264,7 @@ def members_update(environment: str, principal: str, role: str, service_user: bo
|
|
|
258
264
|
def members_remove(environment: str, principal: str, service_user: bool = False):
|
|
259
265
|
deprecation_warning(
|
|
260
266
|
(2026, 7, 23),
|
|
261
|
-
"`modal environment members remove` is deprecated;
|
|
267
|
+
"`modal environment members remove` is deprecated; assign a role "
|
|
262
268
|
"(e.g. `--role no-access`) with `modal environment roles update` instead.",
|
|
263
269
|
show_source=False,
|
|
264
270
|
)
|
|
@@ -38,7 +38,7 @@ class _Client:
|
|
|
38
38
|
server_url: str,
|
|
39
39
|
client_type: int,
|
|
40
40
|
credentials: typing.Optional[tuple[str, str]],
|
|
41
|
-
version: str = "1.5.5.
|
|
41
|
+
version: str = "1.5.5.dev7",
|
|
42
42
|
):
|
|
43
43
|
"""mdmd:hidden
|
|
44
44
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -209,7 +209,7 @@ class Client:
|
|
|
209
209
|
server_url: str,
|
|
210
210
|
client_type: int,
|
|
211
211
|
credentials: typing.Optional[tuple[str, str]],
|
|
212
|
-
version: str = "1.5.5.
|
|
212
|
+
version: str = "1.5.5.dev7",
|
|
213
213
|
):
|
|
214
214
|
"""mdmd:hidden
|
|
215
215
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -122,9 +122,14 @@ class EnvironmentRolesManager:
|
|
|
122
122
|
...
|
|
123
123
|
|
|
124
124
|
class __list_spec(typing_extensions.Protocol):
|
|
125
|
-
def __call__(
|
|
125
|
+
def __call__(
|
|
126
|
+
self, /, *, exclude_default: bool = False
|
|
127
|
+
) -> dict[typing.Literal["users", "service_users"], dict[str, str]]:
|
|
126
128
|
"""Enumerate the Environment Role for each user and service user in the workspace.
|
|
127
129
|
|
|
130
|
+
Args:
|
|
131
|
+
exclude_default: If `True`, only include roles that are directly assigned.
|
|
132
|
+
|
|
128
133
|
**Examples:**
|
|
129
134
|
|
|
130
135
|
```python notest
|
|
@@ -138,9 +143,14 @@ class EnvironmentRolesManager:
|
|
|
138
143
|
"""
|
|
139
144
|
...
|
|
140
145
|
|
|
141
|
-
async def aio(
|
|
146
|
+
async def aio(
|
|
147
|
+
self, /, *, exclude_default: bool = False
|
|
148
|
+
) -> dict[typing.Literal["users", "service_users"], dict[str, str]]:
|
|
142
149
|
"""Enumerate the Environment Role for each user and service user in the workspace.
|
|
143
150
|
|
|
151
|
+
Args:
|
|
152
|
+
exclude_default: If `True`, only include roles that are directly assigned.
|
|
153
|
+
|
|
144
154
|
**Examples:**
|
|
145
155
|
|
|
146
156
|
```python notest
|