modal 1.2.5.dev15__tar.gz → 1.2.5.dev16__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.2.5.dev15 → modal-1.2.5.dev16}/PKG-INFO +1 -1
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_functions.py +2 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_runtime/user_code_imports.py +1 -1
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/function_utils.py +7 -10
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/client.pyi +2 -2
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_version/__init__.py +1 -1
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/LICENSE +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/README.md +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/__init__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/__main__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_billing.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_clustered_functions.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_clustered_functions.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_container_entrypoint.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_grpc_client.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_ipython.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_load_context.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_location.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_object.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_output.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_partial_function.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_pty.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_resolver.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_resources.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_runtime/__init__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_runtime/asgi.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_runtime/execution_context.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_runtime/telemetry.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_runtime/user_code_event_loop.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_serialization.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_traceback.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_tunnel.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_tunnel.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_type_manager.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/__init__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/app_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/async_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/blob_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/deprecation.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/docker_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/git_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/hash_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/http_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/logger.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/mount_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/name_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/package_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/shell_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/task_command_router_client.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_utils/time_utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_vendor/__init__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_vendor/tblib.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/_watcher.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/app.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/app.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/billing.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/builder/2023.12.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/builder/2024.04.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/builder/2024.10.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/builder/2025.06.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/builder/README.md +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/builder/base-images.json +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/call_graph.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/__init__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/_download.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/_traceback.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/app.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/cluster.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/config.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/container.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/dict.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/entry_point.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/environment.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/import_refs.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/launch.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/network_file_system.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/profile.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/programs/__init__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/programs/launch_instance_ssh.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/programs/run_marimo.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/programs/vscode.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/queues.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/run.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/secret.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/shell.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/token.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/utils.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cli/volume.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/client.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cls.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/cls.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/config.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/container_process.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/container_process.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/dict.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/dict.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/environments.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/environments.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/exception.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/experimental/__init__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/experimental/flash.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/experimental/flash.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/experimental/ipython.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/file_io.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/file_io.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/file_pattern_matcher.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/functions.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/functions.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/gpu.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/image.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/image.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/io_streams.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/io_streams.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/mount.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/mount.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/network_file_system.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/network_file_system.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/object.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/object.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/output.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/parallel_map.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/parallel_map.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/partial_function.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/partial_function.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/proxy.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/proxy.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/py.typed +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/queue.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/queue.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/retries.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/runner.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/runner.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/running_app.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/sandbox.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/sandbox.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/schedule.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/scheduler_placement.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/secret.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/secret.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/serving.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/serving.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/snapshot.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/snapshot.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/stream_type.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/token_flow.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/token_flow.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/volume.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal/volume.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal.egg-info/requires.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal.egg-info/top_level.txt +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_docs/__init__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/__init__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/api.proto +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/api_grpc.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/api_pb2.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/api_pb2.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/py.typed +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/sandbox_router.proto +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/sandbox_router_grpc.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/sandbox_router_pb2.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/sandbox_router_pb2.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/task_command_router.proto +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/task_command_router_grpc.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/task_command_router_pb2.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/task_command_router_pb2.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/task_command_router_pb2_grpc.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/modal_version/__main__.py +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/pyproject.toml +0 -0
- {modal-1.2.5.dev15 → modal-1.2.5.dev16}/setup.cfg +0 -0
|
@@ -988,6 +988,7 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
|
988
988
|
function_definition = api_pb2.Function(
|
|
989
989
|
module_name=info.module_name or "",
|
|
990
990
|
function_name=info.function_name,
|
|
991
|
+
implementation_name=info.implementation_name,
|
|
991
992
|
mount_ids=loaded_mount_ids,
|
|
992
993
|
secret_ids=[secret.object_id for secret in secrets],
|
|
993
994
|
image_id=(image.object_id if image else ""),
|
|
@@ -1054,6 +1055,7 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
|
1054
1055
|
function_data = api_pb2.FunctionData(
|
|
1055
1056
|
module_name=function_definition.module_name,
|
|
1056
1057
|
function_name=function_definition.function_name,
|
|
1058
|
+
implementation_name=function_definition.implementation_name,
|
|
1057
1059
|
function_type=function_definition.function_type,
|
|
1058
1060
|
warm_pool_size=function_definition.warm_pool_size,
|
|
1059
1061
|
concurrency_limit=function_definition.concurrency_limit,
|
|
@@ -465,7 +465,7 @@ def import_single_function_service(
|
|
|
465
465
|
else:
|
|
466
466
|
# Load the module dynamically
|
|
467
467
|
module = importlib.import_module(function_def.module_name)
|
|
468
|
-
qual_name: str = function_def.
|
|
468
|
+
qual_name: str = function_def.implementation_name
|
|
469
469
|
|
|
470
470
|
if not is_global_object(qual_name):
|
|
471
471
|
raise LocalFunctionError("Attempted to load a function defined in a function scope")
|
|
@@ -129,6 +129,7 @@ class FunctionInfo:
|
|
|
129
129
|
|
|
130
130
|
raw_f: Optional[Callable[..., Any]] # if None - this is a "class service function"
|
|
131
131
|
function_name: str
|
|
132
|
+
implementation_name: str
|
|
132
133
|
user_cls: Optional[type[Any]]
|
|
133
134
|
module_name: Optional[str]
|
|
134
135
|
|
|
@@ -160,20 +161,16 @@ class FunctionInfo:
|
|
|
160
161
|
self.raw_f = f
|
|
161
162
|
self.user_cls = user_cls
|
|
162
163
|
|
|
163
|
-
if
|
|
164
|
-
if not serialized:
|
|
165
|
-
# We may relax this constraint in the future, but currently we don't track the distinction between
|
|
166
|
-
# the Function's name inside modal and the name of the object that we need to import in a container.
|
|
167
|
-
raise InvalidError("Setting a custom `name=` also requires setting `serialized=True`")
|
|
168
|
-
self.function_name = name_override
|
|
169
|
-
elif f is None and user_cls:
|
|
164
|
+
if f is None and user_cls:
|
|
170
165
|
# "service function" for running all methods of a class
|
|
171
|
-
self.
|
|
166
|
+
self.implementation_name = f"{user_cls.__name__}.*"
|
|
172
167
|
elif f and user_cls:
|
|
173
168
|
# Method may be defined on superclass of the wrapped class
|
|
174
|
-
self.
|
|
169
|
+
self.implementation_name = f"{user_cls.__name__}.{f.__name__}"
|
|
175
170
|
else:
|
|
176
|
-
self.
|
|
171
|
+
self.implementation_name = f.__qualname__
|
|
172
|
+
|
|
173
|
+
self.function_name = name_override or self.implementation_name
|
|
177
174
|
|
|
178
175
|
# If it's a cls, the @method could be defined in a base class in a different file.
|
|
179
176
|
if user_cls is not None:
|
|
@@ -32,7 +32,7 @@ class _Client:
|
|
|
32
32
|
server_url: str,
|
|
33
33
|
client_type: int,
|
|
34
34
|
credentials: typing.Optional[tuple[str, str]],
|
|
35
|
-
version: str = "1.2.5.
|
|
35
|
+
version: str = "1.2.5.dev16",
|
|
36
36
|
):
|
|
37
37
|
"""mdmd:hidden
|
|
38
38
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -163,7 +163,7 @@ class Client:
|
|
|
163
163
|
server_url: str,
|
|
164
164
|
client_type: int,
|
|
165
165
|
credentials: typing.Optional[tuple[str, str]],
|
|
166
|
-
version: str = "1.2.5.
|
|
166
|
+
version: str = "1.2.5.dev16",
|
|
167
167
|
):
|
|
168
168
|
"""mdmd:hidden
|
|
169
169
|
The Modal client object is not intended to be instantiated directly by users.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|