modal 1.1.5.dev66__py3-none-any.whl → 1.3.1.dev8__py3-none-any.whl

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.

Potentially problematic release.


This version of modal might be problematic. Click here for more details.

Files changed (143) hide show
  1. modal/__init__.py +4 -4
  2. modal/__main__.py +4 -29
  3. modal/_billing.py +84 -0
  4. modal/_clustered_functions.py +1 -3
  5. modal/_container_entrypoint.py +33 -208
  6. modal/_functions.py +171 -138
  7. modal/_grpc_client.py +191 -0
  8. modal/_ipython.py +16 -6
  9. modal/_load_context.py +106 -0
  10. modal/_object.py +72 -21
  11. modal/_output.py +12 -14
  12. modal/_partial_function.py +31 -4
  13. modal/_resolver.py +44 -57
  14. modal/_runtime/container_io_manager.py +30 -28
  15. modal/_runtime/container_io_manager.pyi +42 -44
  16. modal/_runtime/gpu_memory_snapshot.py +9 -7
  17. modal/_runtime/user_code_event_loop.py +80 -0
  18. modal/_runtime/user_code_imports.py +236 -10
  19. modal/_serialization.py +2 -1
  20. modal/_traceback.py +4 -13
  21. modal/_tunnel.py +16 -11
  22. modal/_tunnel.pyi +25 -3
  23. modal/_utils/async_utils.py +337 -10
  24. modal/_utils/auth_token_manager.py +1 -4
  25. modal/_utils/blob_utils.py +29 -22
  26. modal/_utils/function_utils.py +20 -21
  27. modal/_utils/grpc_testing.py +6 -3
  28. modal/_utils/grpc_utils.py +223 -64
  29. modal/_utils/mount_utils.py +26 -1
  30. modal/_utils/name_utils.py +2 -3
  31. modal/_utils/package_utils.py +0 -1
  32. modal/_utils/rand_pb_testing.py +8 -1
  33. modal/_utils/task_command_router_client.py +524 -0
  34. modal/_vendor/cloudpickle.py +144 -48
  35. modal/app.py +285 -105
  36. modal/app.pyi +216 -53
  37. modal/billing.py +5 -0
  38. modal/builder/2025.06.txt +6 -3
  39. modal/builder/PREVIEW.txt +2 -1
  40. modal/builder/base-images.json +4 -2
  41. modal/cli/_download.py +19 -3
  42. modal/cli/cluster.py +4 -2
  43. modal/cli/config.py +3 -1
  44. modal/cli/container.py +5 -4
  45. modal/cli/dict.py +5 -2
  46. modal/cli/entry_point.py +26 -2
  47. modal/cli/environment.py +2 -16
  48. modal/cli/launch.py +1 -76
  49. modal/cli/network_file_system.py +5 -20
  50. modal/cli/programs/run_jupyter.py +1 -1
  51. modal/cli/programs/vscode.py +1 -1
  52. modal/cli/queues.py +5 -4
  53. modal/cli/run.py +24 -204
  54. modal/cli/secret.py +1 -2
  55. modal/cli/shell.py +375 -0
  56. modal/cli/utils.py +1 -13
  57. modal/cli/volume.py +11 -17
  58. modal/client.py +16 -125
  59. modal/client.pyi +94 -144
  60. modal/cloud_bucket_mount.py +3 -1
  61. modal/cloud_bucket_mount.pyi +4 -0
  62. modal/cls.py +101 -64
  63. modal/cls.pyi +9 -8
  64. modal/config.py +21 -1
  65. modal/container_process.py +288 -12
  66. modal/container_process.pyi +99 -38
  67. modal/dict.py +72 -33
  68. modal/dict.pyi +88 -57
  69. modal/environments.py +16 -8
  70. modal/environments.pyi +6 -2
  71. modal/exception.py +154 -16
  72. modal/experimental/__init__.py +24 -53
  73. modal/experimental/flash.py +161 -74
  74. modal/experimental/flash.pyi +97 -49
  75. modal/file_io.py +50 -92
  76. modal/file_io.pyi +117 -89
  77. modal/functions.pyi +70 -87
  78. modal/image.py +82 -47
  79. modal/image.pyi +51 -30
  80. modal/io_streams.py +500 -149
  81. modal/io_streams.pyi +279 -189
  82. modal/mount.py +60 -46
  83. modal/mount.pyi +41 -17
  84. modal/network_file_system.py +19 -11
  85. modal/network_file_system.pyi +72 -39
  86. modal/object.pyi +114 -22
  87. modal/parallel_map.py +42 -44
  88. modal/parallel_map.pyi +9 -17
  89. modal/partial_function.pyi +4 -2
  90. modal/proxy.py +14 -6
  91. modal/proxy.pyi +10 -2
  92. modal/queue.py +45 -38
  93. modal/queue.pyi +88 -52
  94. modal/runner.py +96 -96
  95. modal/runner.pyi +44 -27
  96. modal/sandbox.py +225 -107
  97. modal/sandbox.pyi +226 -60
  98. modal/secret.py +58 -56
  99. modal/secret.pyi +28 -13
  100. modal/serving.py +7 -11
  101. modal/serving.pyi +7 -8
  102. modal/snapshot.py +29 -15
  103. modal/snapshot.pyi +18 -10
  104. modal/token_flow.py +1 -1
  105. modal/token_flow.pyi +4 -6
  106. modal/volume.py +102 -55
  107. modal/volume.pyi +125 -66
  108. {modal-1.1.5.dev66.dist-info → modal-1.3.1.dev8.dist-info}/METADATA +10 -9
  109. modal-1.3.1.dev8.dist-info/RECORD +189 -0
  110. modal_proto/api.proto +141 -70
  111. modal_proto/api_grpc.py +42 -26
  112. modal_proto/api_pb2.py +1123 -1103
  113. modal_proto/api_pb2.pyi +331 -83
  114. modal_proto/api_pb2_grpc.py +80 -48
  115. modal_proto/api_pb2_grpc.pyi +26 -18
  116. modal_proto/modal_api_grpc.py +175 -174
  117. modal_proto/task_command_router.proto +164 -0
  118. modal_proto/task_command_router_grpc.py +138 -0
  119. modal_proto/task_command_router_pb2.py +180 -0
  120. modal_proto/{sandbox_router_pb2.pyi → task_command_router_pb2.pyi} +148 -57
  121. modal_proto/task_command_router_pb2_grpc.py +272 -0
  122. modal_proto/task_command_router_pb2_grpc.pyi +100 -0
  123. modal_version/__init__.py +1 -1
  124. modal_version/__main__.py +1 -1
  125. modal/cli/programs/launch_instance_ssh.py +0 -94
  126. modal/cli/programs/run_marimo.py +0 -95
  127. modal-1.1.5.dev66.dist-info/RECORD +0 -191
  128. modal_proto/modal_options_grpc.py +0 -3
  129. modal_proto/options.proto +0 -19
  130. modal_proto/options_grpc.py +0 -3
  131. modal_proto/options_pb2.py +0 -35
  132. modal_proto/options_pb2.pyi +0 -20
  133. modal_proto/options_pb2_grpc.py +0 -4
  134. modal_proto/options_pb2_grpc.pyi +0 -7
  135. modal_proto/sandbox_router.proto +0 -125
  136. modal_proto/sandbox_router_grpc.py +0 -89
  137. modal_proto/sandbox_router_pb2.py +0 -128
  138. modal_proto/sandbox_router_pb2_grpc.py +0 -169
  139. modal_proto/sandbox_router_pb2_grpc.pyi +0 -63
  140. {modal-1.1.5.dev66.dist-info → modal-1.3.1.dev8.dist-info}/WHEEL +0 -0
  141. {modal-1.1.5.dev66.dist-info → modal-1.3.1.dev8.dist-info}/entry_points.txt +0 -0
  142. {modal-1.1.5.dev66.dist-info → modal-1.3.1.dev8.dist-info}/licenses/LICENSE +0 -0
  143. {modal-1.1.5.dev66.dist-info → modal-1.3.1.dev8.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,7 @@
2
2
  # source: modal_proto/api.proto
3
3
  # plugin: __main__
4
4
 
5
- import modal._utils.grpc_utils
5
+ import modal._grpc_client
6
6
  import modal_proto.api_grpc
7
7
  import typing
8
8
  if typing.TYPE_CHECKING:
@@ -18,176 +18,177 @@ class ModalClientModal:
18
18
 
19
19
 
20
20
  def __init__(self, grpclib_stub: modal_proto.api_grpc.ModalClientStub, client: "modal.client._Client", server_url: str) -> None:
21
- self.AppClientDisconnect = modal.client.UnaryUnaryWrapper(grpclib_stub.AppClientDisconnect, client, server_url)
22
- self.AppCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.AppCreate, client, server_url)
23
- self.AppDeploy = modal.client.UnaryUnaryWrapper(grpclib_stub.AppDeploy, client, server_url)
24
- self.AppDeploymentHistory = modal.client.UnaryUnaryWrapper(grpclib_stub.AppDeploymentHistory, client, server_url)
25
- self.AppGetByDeploymentName = modal.client.UnaryUnaryWrapper(grpclib_stub.AppGetByDeploymentName, client, server_url)
26
- self.AppGetLayout = modal.client.UnaryUnaryWrapper(grpclib_stub.AppGetLayout, client, server_url)
27
- self.AppGetLogs = modal.client.UnaryStreamWrapper(grpclib_stub.AppGetLogs, client, server_url)
28
- self.AppGetObjects = modal.client.UnaryUnaryWrapper(grpclib_stub.AppGetObjects, client, server_url)
29
- self.AppGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.AppGetOrCreate, client, server_url)
30
- self.AppHeartbeat = modal.client.UnaryUnaryWrapper(grpclib_stub.AppHeartbeat, client, server_url)
31
- self.AppList = modal.client.UnaryUnaryWrapper(grpclib_stub.AppList, client, server_url)
32
- self.AppLookup = modal.client.UnaryUnaryWrapper(grpclib_stub.AppLookup, client, server_url)
33
- self.AppPublish = modal.client.UnaryUnaryWrapper(grpclib_stub.AppPublish, client, server_url)
34
- self.AppRollback = modal.client.UnaryUnaryWrapper(grpclib_stub.AppRollback, client, server_url)
35
- self.AppSetObjects = modal.client.UnaryUnaryWrapper(grpclib_stub.AppSetObjects, client, server_url)
36
- self.AppStop = modal.client.UnaryUnaryWrapper(grpclib_stub.AppStop, client, server_url)
37
- self.AttemptAwait = modal.client.UnaryUnaryWrapper(grpclib_stub.AttemptAwait, client, server_url)
38
- self.AttemptRetry = modal.client.UnaryUnaryWrapper(grpclib_stub.AttemptRetry, client, server_url)
39
- self.AttemptStart = modal.client.UnaryUnaryWrapper(grpclib_stub.AttemptStart, client, server_url)
40
- self.AuthTokenGet = modal.client.UnaryUnaryWrapper(grpclib_stub.AuthTokenGet, client, server_url)
41
- self.BlobCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.BlobCreate, client, server_url)
42
- self.BlobGet = modal.client.UnaryUnaryWrapper(grpclib_stub.BlobGet, client, server_url)
43
- self.ClassCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ClassCreate, client, server_url)
44
- self.ClassGet = modal.client.UnaryUnaryWrapper(grpclib_stub.ClassGet, client, server_url)
45
- self.ClientHello = modal.client.UnaryUnaryWrapper(grpclib_stub.ClientHello, client, server_url)
46
- self.ClusterGet = modal.client.UnaryUnaryWrapper(grpclib_stub.ClusterGet, client, server_url)
47
- self.ClusterList = modal.client.UnaryUnaryWrapper(grpclib_stub.ClusterList, client, server_url)
48
- self.ContainerCheckpoint = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerCheckpoint, client, server_url)
49
- self.ContainerExec = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerExec, client, server_url)
50
- self.ContainerExecGetOutput = modal.client.UnaryStreamWrapper(grpclib_stub.ContainerExecGetOutput, client, server_url)
51
- self.ContainerExecPutInput = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerExecPutInput, client, server_url)
52
- self.ContainerExecWait = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerExecWait, client, server_url)
53
- self.ContainerFilesystemExec = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerFilesystemExec, client, server_url)
54
- self.ContainerFilesystemExecGetOutput = modal.client.UnaryStreamWrapper(grpclib_stub.ContainerFilesystemExecGetOutput, client, server_url)
55
- self.ContainerHeartbeat = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerHeartbeat, client, server_url)
56
- self.ContainerHello = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerHello, client, server_url)
57
- self.ContainerLog = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerLog, client, server_url)
58
- self.ContainerReloadVolumes = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerReloadVolumes, client, server_url)
59
- self.ContainerStop = modal.client.UnaryUnaryWrapper(grpclib_stub.ContainerStop, client, server_url)
60
- self.DictClear = modal.client.UnaryUnaryWrapper(grpclib_stub.DictClear, client, server_url)
61
- self.DictContains = modal.client.UnaryUnaryWrapper(grpclib_stub.DictContains, client, server_url)
62
- self.DictContents = modal.client.UnaryStreamWrapper(grpclib_stub.DictContents, client, server_url)
63
- self.DictDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.DictDelete, client, server_url)
64
- self.DictGet = modal.client.UnaryUnaryWrapper(grpclib_stub.DictGet, client, server_url)
65
- self.DictGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.DictGetOrCreate, client, server_url)
66
- self.DictHeartbeat = modal.client.UnaryUnaryWrapper(grpclib_stub.DictHeartbeat, client, server_url)
67
- self.DictLen = modal.client.UnaryUnaryWrapper(grpclib_stub.DictLen, client, server_url)
68
- self.DictList = modal.client.UnaryUnaryWrapper(grpclib_stub.DictList, client, server_url)
69
- self.DictPop = modal.client.UnaryUnaryWrapper(grpclib_stub.DictPop, client, server_url)
70
- self.DictUpdate = modal.client.UnaryUnaryWrapper(grpclib_stub.DictUpdate, client, server_url)
71
- self.DomainCertificateVerify = modal.client.UnaryUnaryWrapper(grpclib_stub.DomainCertificateVerify, client, server_url)
72
- self.DomainCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.DomainCreate, client, server_url)
73
- self.DomainList = modal.client.UnaryUnaryWrapper(grpclib_stub.DomainList, client, server_url)
74
- self.EnvironmentCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.EnvironmentCreate, client, server_url)
75
- self.EnvironmentDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.EnvironmentDelete, client, server_url)
76
- self.EnvironmentGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.EnvironmentGetOrCreate, client, server_url)
77
- self.EnvironmentList = modal.client.UnaryUnaryWrapper(grpclib_stub.EnvironmentList, client, server_url)
78
- self.EnvironmentUpdate = modal.client.UnaryUnaryWrapper(grpclib_stub.EnvironmentUpdate, client, server_url)
79
- self.FlashContainerDeregister = modal.client.UnaryUnaryWrapper(grpclib_stub.FlashContainerDeregister, client, server_url)
80
- self.FlashContainerList = modal.client.UnaryUnaryWrapper(grpclib_stub.FlashContainerList, client, server_url)
81
- self.FlashContainerRegister = modal.client.UnaryUnaryWrapper(grpclib_stub.FlashContainerRegister, client, server_url)
82
- self.FlashSetTargetSlotsMetrics = modal.client.UnaryUnaryWrapper(grpclib_stub.FlashSetTargetSlotsMetrics, client, server_url)
83
- self.FunctionAsyncInvoke = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionAsyncInvoke, client, server_url)
84
- self.FunctionBindParams = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionBindParams, client, server_url)
85
- self.FunctionCallCancel = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallCancel, client, server_url)
86
- self.FunctionCallFromId = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallFromId, client, server_url)
87
- self.FunctionCallGetDataIn = modal.client.UnaryStreamWrapper(grpclib_stub.FunctionCallGetDataIn, client, server_url)
88
- self.FunctionCallGetDataOut = modal.client.UnaryStreamWrapper(grpclib_stub.FunctionCallGetDataOut, client, server_url)
89
- self.FunctionCallList = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallList, client, server_url)
90
- self.FunctionCallPutDataOut = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallPutDataOut, client, server_url)
91
- self.FunctionCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCreate, client, server_url)
92
- self.FunctionFinishInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionFinishInputs, client, server_url)
93
- self.FunctionGet = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGet, client, server_url)
94
- self.FunctionGetCallGraph = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetCallGraph, client, server_url)
95
- self.FunctionGetCurrentStats = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetCurrentStats, client, server_url)
96
- self.FunctionGetDynamicConcurrency = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetDynamicConcurrency, client, server_url)
97
- self.FunctionGetInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetInputs, client, server_url)
98
- self.FunctionGetOutputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetOutputs, client, server_url)
99
- self.FunctionGetSerialized = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetSerialized, client, server_url)
100
- self.FunctionMap = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionMap, client, server_url)
101
- self.FunctionPrecreate = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionPrecreate, client, server_url)
102
- self.FunctionPutInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionPutInputs, client, server_url)
103
- self.FunctionPutOutputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionPutOutputs, client, server_url)
104
- self.FunctionRetryInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionRetryInputs, client, server_url)
105
- self.FunctionStartPtyShell = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionStartPtyShell, client, server_url)
106
- self.FunctionUpdateSchedulingParams = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionUpdateSchedulingParams, client, server_url)
107
- self.ImageDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.ImageDelete, client, server_url)
108
- self.ImageFromId = modal.client.UnaryUnaryWrapper(grpclib_stub.ImageFromId, client, server_url)
109
- self.ImageGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ImageGetOrCreate, client, server_url)
110
- self.ImageJoinStreaming = modal.client.UnaryStreamWrapper(grpclib_stub.ImageJoinStreaming, client, server_url)
111
- self.MapAwait = modal.client.UnaryUnaryWrapper(grpclib_stub.MapAwait, client, server_url)
112
- self.MapCheckInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.MapCheckInputs, client, server_url)
113
- self.MapStartOrContinue = modal.client.UnaryUnaryWrapper(grpclib_stub.MapStartOrContinue, client, server_url)
114
- self.MountGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.MountGetOrCreate, client, server_url)
115
- self.MountPutFile = modal.client.UnaryUnaryWrapper(grpclib_stub.MountPutFile, client, server_url)
116
- self.NotebookKernelPublishResults = modal.client.UnaryUnaryWrapper(grpclib_stub.NotebookKernelPublishResults, client, server_url)
117
- self.ProxyAddIp = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyAddIp, client, server_url)
118
- self.ProxyCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyCreate, client, server_url)
119
- self.ProxyDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyDelete, client, server_url)
120
- self.ProxyGet = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyGet, client, server_url)
121
- self.ProxyGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyGetOrCreate, client, server_url)
122
- self.ProxyList = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyList, client, server_url)
123
- self.ProxyRemoveIp = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyRemoveIp, client, server_url)
124
- self.QueueClear = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueClear, client, server_url)
125
- self.QueueDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueDelete, client, server_url)
126
- self.QueueGet = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueGet, client, server_url)
127
- self.QueueGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueGetOrCreate, client, server_url)
128
- self.QueueHeartbeat = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueHeartbeat, client, server_url)
129
- self.QueueLen = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueLen, client, server_url)
130
- self.QueueList = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueList, client, server_url)
131
- self.QueueNextItems = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueNextItems, client, server_url)
132
- self.QueuePut = modal.client.UnaryUnaryWrapper(grpclib_stub.QueuePut, client, server_url)
133
- self.SandboxCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxCreate, client, server_url)
134
- self.SandboxCreateConnectToken = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxCreateConnectToken, client, server_url)
135
- self.SandboxGetCommandRouterAccess = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetCommandRouterAccess, client, server_url)
136
- self.SandboxGetFromName = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetFromName, client, server_url)
137
- self.SandboxGetLogs = modal.client.UnaryStreamWrapper(grpclib_stub.SandboxGetLogs, client, server_url)
138
- self.SandboxGetResourceUsage = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetResourceUsage, client, server_url)
139
- self.SandboxGetTaskId = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetTaskId, client, server_url)
140
- self.SandboxGetTunnels = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetTunnels, client, server_url)
141
- self.SandboxList = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxList, client, server_url)
142
- self.SandboxRestore = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxRestore, client, server_url)
143
- self.SandboxSnapshot = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshot, client, server_url)
144
- self.SandboxSnapshotFs = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFs, client, server_url)
145
- self.SandboxSnapshotFsAsync = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFsAsync, client, server_url)
146
- self.SandboxSnapshotFsAsyncGet = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFsAsyncGet, client, server_url)
147
- self.SandboxSnapshotGet = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotGet, client, server_url)
148
- self.SandboxSnapshotWait = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotWait, client, server_url)
149
- self.SandboxStdinWrite = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxStdinWrite, client, server_url)
150
- self.SandboxTagsGet = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxTagsGet, client, server_url)
151
- self.SandboxTagsSet = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxTagsSet, client, server_url)
152
- self.SandboxTerminate = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxTerminate, client, server_url)
153
- self.SandboxWait = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxWait, client, server_url)
154
- self.SecretDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.SecretDelete, client, server_url)
155
- self.SecretGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.SecretGetOrCreate, client, server_url)
156
- self.SecretList = modal.client.UnaryUnaryWrapper(grpclib_stub.SecretList, client, server_url)
157
- self.SharedVolumeDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeDelete, client, server_url)
158
- self.SharedVolumeGetFile = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeGetFile, client, server_url)
159
- self.SharedVolumeGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeGetOrCreate, client, server_url)
160
- self.SharedVolumeHeartbeat = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeHeartbeat, client, server_url)
161
- self.SharedVolumeList = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeList, client, server_url)
162
- self.SharedVolumeListFiles = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeListFiles, client, server_url)
163
- self.SharedVolumeListFilesStream = modal.client.UnaryStreamWrapper(grpclib_stub.SharedVolumeListFilesStream, client, server_url)
164
- self.SharedVolumePutFile = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumePutFile, client, server_url)
165
- self.SharedVolumeRemoveFile = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeRemoveFile, client, server_url)
166
- self.TaskClusterHello = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskClusterHello, client, server_url)
167
- self.TaskCurrentInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskCurrentInputs, client, server_url)
168
- self.TaskGetAutoscalingMetrics = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskGetAutoscalingMetrics, client, server_url)
169
- self.TaskList = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskList, client, server_url)
170
- self.TaskResult = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskResult, client, server_url)
171
- self.TokenFlowCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.TokenFlowCreate, client, server_url)
172
- self.TokenFlowWait = modal.client.UnaryUnaryWrapper(grpclib_stub.TokenFlowWait, client, server_url)
173
- self.TunnelStart = modal.client.UnaryUnaryWrapper(grpclib_stub.TunnelStart, client, server_url)
174
- self.TunnelStop = modal.client.UnaryUnaryWrapper(grpclib_stub.TunnelStop, client, server_url)
175
- self.VolumeCommit = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeCommit, client, server_url)
176
- self.VolumeCopyFiles = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeCopyFiles, client, server_url)
177
- self.VolumeCopyFiles2 = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeCopyFiles2, client, server_url)
178
- self.VolumeDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeDelete, client, server_url)
179
- self.VolumeGetFile = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeGetFile, client, server_url)
180
- self.VolumeGetFile2 = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeGetFile2, client, server_url)
181
- self.VolumeGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeGetOrCreate, client, server_url)
182
- self.VolumeHeartbeat = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeHeartbeat, client, server_url)
183
- self.VolumeList = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeList, client, server_url)
184
- self.VolumeListFiles = modal.client.UnaryStreamWrapper(grpclib_stub.VolumeListFiles, client, server_url)
185
- self.VolumeListFiles2 = modal.client.UnaryStreamWrapper(grpclib_stub.VolumeListFiles2, client, server_url)
186
- self.VolumePutFiles = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumePutFiles, client, server_url)
187
- self.VolumePutFiles2 = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumePutFiles2, client, server_url)
188
- self.VolumeReload = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeReload, client, server_url)
189
- self.VolumeRemoveFile = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeRemoveFile, client, server_url)
190
- self.VolumeRemoveFile2 = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeRemoveFile2, client, server_url)
191
- self.VolumeRename = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeRename, client, server_url)
192
- self.WorkspaceBillingReport = modal.client.UnaryStreamWrapper(grpclib_stub.WorkspaceBillingReport, client, server_url)
193
- self.WorkspaceNameLookup = modal.client.UnaryUnaryWrapper(grpclib_stub.WorkspaceNameLookup, client, server_url)
21
+ self.AppClientDisconnect = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppClientDisconnect, client, server_url)
22
+ self.AppCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppCreate, client, server_url)
23
+ self.AppDeploy = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppDeploy, client, server_url)
24
+ self.AppDeploymentHistory = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppDeploymentHistory, client, server_url)
25
+ self.AppGetByDeploymentName = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppGetByDeploymentName, client, server_url)
26
+ self.AppGetLayout = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppGetLayout, client, server_url)
27
+ self.AppGetLogs = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.AppGetLogs, client, server_url)
28
+ self.AppGetObjects = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppGetObjects, client, server_url)
29
+ self.AppGetOrCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppGetOrCreate, client, server_url)
30
+ self.AppGetTags = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppGetTags, client, server_url)
31
+ self.AppHeartbeat = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppHeartbeat, client, server_url)
32
+ self.AppList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppList, client, server_url)
33
+ self.AppLookup = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppLookup, client, server_url)
34
+ self.AppPublish = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppPublish, client, server_url)
35
+ self.AppRollback = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppRollback, client, server_url)
36
+ self.AppSetObjects = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppSetObjects, client, server_url)
37
+ self.AppSetTags = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppSetTags, client, server_url)
38
+ self.AppStop = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AppStop, client, server_url)
39
+ self.AttemptAwait = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AttemptAwait, client, server_url)
40
+ self.AttemptRetry = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AttemptRetry, client, server_url)
41
+ self.AttemptStart = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AttemptStart, client, server_url)
42
+ self.AuthTokenGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.AuthTokenGet, client, server_url)
43
+ self.BlobCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.BlobCreate, client, server_url)
44
+ self.BlobGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.BlobGet, client, server_url)
45
+ self.ClassCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ClassCreate, client, server_url)
46
+ self.ClassGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ClassGet, client, server_url)
47
+ self.ClientHello = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ClientHello, client, server_url)
48
+ self.ClusterGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ClusterGet, client, server_url)
49
+ self.ClusterList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ClusterList, client, server_url)
50
+ self.ContainerCheckpoint = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ContainerCheckpoint, client, server_url)
51
+ self.ContainerExec = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ContainerExec, client, server_url)
52
+ self.ContainerExecGetOutput = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.ContainerExecGetOutput, client, server_url)
53
+ self.ContainerExecPutInput = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ContainerExecPutInput, client, server_url)
54
+ self.ContainerExecWait = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ContainerExecWait, client, server_url)
55
+ self.ContainerFilesystemExec = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ContainerFilesystemExec, client, server_url)
56
+ self.ContainerFilesystemExecGetOutput = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.ContainerFilesystemExecGetOutput, client, server_url)
57
+ self.ContainerHeartbeat = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ContainerHeartbeat, client, server_url)
58
+ self.ContainerHello = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ContainerHello, client, server_url)
59
+ self.ContainerLog = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ContainerLog, client, server_url)
60
+ self.ContainerReloadVolumes = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ContainerReloadVolumes, client, server_url)
61
+ self.ContainerStop = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ContainerStop, client, server_url)
62
+ self.DictClear = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DictClear, client, server_url)
63
+ self.DictContains = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DictContains, client, server_url)
64
+ self.DictContents = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.DictContents, client, server_url)
65
+ self.DictDelete = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DictDelete, client, server_url)
66
+ self.DictGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DictGet, client, server_url)
67
+ self.DictGetOrCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DictGetOrCreate, client, server_url)
68
+ self.DictHeartbeat = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DictHeartbeat, client, server_url)
69
+ self.DictLen = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DictLen, client, server_url)
70
+ self.DictList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DictList, client, server_url)
71
+ self.DictPop = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DictPop, client, server_url)
72
+ self.DictUpdate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DictUpdate, client, server_url)
73
+ self.DomainCertificateVerify = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DomainCertificateVerify, client, server_url)
74
+ self.DomainCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DomainCreate, client, server_url)
75
+ self.DomainList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.DomainList, client, server_url)
76
+ self.EnvironmentCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.EnvironmentCreate, client, server_url)
77
+ self.EnvironmentDelete = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.EnvironmentDelete, client, server_url)
78
+ self.EnvironmentGetOrCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.EnvironmentGetOrCreate, client, server_url)
79
+ self.EnvironmentList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.EnvironmentList, client, server_url)
80
+ self.EnvironmentUpdate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.EnvironmentUpdate, client, server_url)
81
+ self.FlashContainerDeregister = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FlashContainerDeregister, client, server_url)
82
+ self.FlashContainerList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FlashContainerList, client, server_url)
83
+ self.FlashContainerRegister = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FlashContainerRegister, client, server_url)
84
+ self.FlashSetTargetSlotsMetrics = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FlashSetTargetSlotsMetrics, client, server_url)
85
+ self.FunctionAsyncInvoke = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionAsyncInvoke, client, server_url)
86
+ self.FunctionBindParams = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionBindParams, client, server_url)
87
+ self.FunctionCallCancel = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionCallCancel, client, server_url)
88
+ self.FunctionCallFromId = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionCallFromId, client, server_url)
89
+ self.FunctionCallGetDataIn = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.FunctionCallGetDataIn, client, server_url)
90
+ self.FunctionCallGetDataOut = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.FunctionCallGetDataOut, client, server_url)
91
+ self.FunctionCallList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionCallList, client, server_url)
92
+ self.FunctionCallPutDataOut = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionCallPutDataOut, client, server_url)
93
+ self.FunctionCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionCreate, client, server_url)
94
+ self.FunctionFinishInputs = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionFinishInputs, client, server_url)
95
+ self.FunctionGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionGet, client, server_url)
96
+ self.FunctionGetCallGraph = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionGetCallGraph, client, server_url)
97
+ self.FunctionGetCurrentStats = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionGetCurrentStats, client, server_url)
98
+ self.FunctionGetDynamicConcurrency = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionGetDynamicConcurrency, client, server_url)
99
+ self.FunctionGetInputs = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionGetInputs, client, server_url)
100
+ self.FunctionGetOutputs = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionGetOutputs, client, server_url)
101
+ self.FunctionGetSerialized = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionGetSerialized, client, server_url)
102
+ self.FunctionMap = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionMap, client, server_url)
103
+ self.FunctionPrecreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionPrecreate, client, server_url)
104
+ self.FunctionPutInputs = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionPutInputs, client, server_url)
105
+ self.FunctionPutOutputs = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionPutOutputs, client, server_url)
106
+ self.FunctionRetryInputs = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionRetryInputs, client, server_url)
107
+ self.FunctionStartPtyShell = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionStartPtyShell, client, server_url)
108
+ self.FunctionUpdateSchedulingParams = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.FunctionUpdateSchedulingParams, client, server_url)
109
+ self.ImageDelete = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ImageDelete, client, server_url)
110
+ self.ImageFromId = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ImageFromId, client, server_url)
111
+ self.ImageGetOrCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ImageGetOrCreate, client, server_url)
112
+ self.ImageJoinStreaming = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.ImageJoinStreaming, client, server_url)
113
+ self.MapAwait = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.MapAwait, client, server_url)
114
+ self.MapCheckInputs = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.MapCheckInputs, client, server_url)
115
+ self.MapStartOrContinue = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.MapStartOrContinue, client, server_url)
116
+ self.MountGetOrCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.MountGetOrCreate, client, server_url)
117
+ self.MountPutFile = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.MountPutFile, client, server_url)
118
+ self.NotebookKernelPublishResults = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.NotebookKernelPublishResults, client, server_url)
119
+ self.ProxyAddIp = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ProxyAddIp, client, server_url)
120
+ self.ProxyCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ProxyCreate, client, server_url)
121
+ self.ProxyDelete = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ProxyDelete, client, server_url)
122
+ self.ProxyGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ProxyGet, client, server_url)
123
+ self.ProxyGetOrCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ProxyGetOrCreate, client, server_url)
124
+ self.ProxyList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ProxyList, client, server_url)
125
+ self.ProxyRemoveIp = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.ProxyRemoveIp, client, server_url)
126
+ self.QueueClear = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.QueueClear, client, server_url)
127
+ self.QueueDelete = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.QueueDelete, client, server_url)
128
+ self.QueueGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.QueueGet, client, server_url)
129
+ self.QueueGetOrCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.QueueGetOrCreate, client, server_url)
130
+ self.QueueHeartbeat = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.QueueHeartbeat, client, server_url)
131
+ self.QueueLen = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.QueueLen, client, server_url)
132
+ self.QueueList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.QueueList, client, server_url)
133
+ self.QueueNextItems = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.QueueNextItems, client, server_url)
134
+ self.QueuePut = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.QueuePut, client, server_url)
135
+ self.SandboxCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxCreate, client, server_url)
136
+ self.SandboxCreateConnectToken = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxCreateConnectToken, client, server_url)
137
+ self.SandboxGetFromName = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxGetFromName, client, server_url)
138
+ self.SandboxGetLogs = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.SandboxGetLogs, client, server_url)
139
+ self.SandboxGetResourceUsage = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxGetResourceUsage, client, server_url)
140
+ self.SandboxGetTaskId = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxGetTaskId, client, server_url)
141
+ self.SandboxGetTunnels = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxGetTunnels, client, server_url)
142
+ self.SandboxList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxList, client, server_url)
143
+ self.SandboxRestore = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxRestore, client, server_url)
144
+ self.SandboxSnapshot = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshot, client, server_url)
145
+ self.SandboxSnapshotFs = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFs, client, server_url)
146
+ self.SandboxSnapshotFsAsync = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFsAsync, client, server_url)
147
+ self.SandboxSnapshotFsAsyncGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFsAsyncGet, client, server_url)
148
+ self.SandboxSnapshotGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotGet, client, server_url)
149
+ self.SandboxSnapshotWait = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotWait, client, server_url)
150
+ self.SandboxStdinWrite = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxStdinWrite, client, server_url)
151
+ self.SandboxTagsGet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxTagsGet, client, server_url)
152
+ self.SandboxTagsSet = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxTagsSet, client, server_url)
153
+ self.SandboxTerminate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxTerminate, client, server_url)
154
+ self.SandboxWait = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SandboxWait, client, server_url)
155
+ self.SecretDelete = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SecretDelete, client, server_url)
156
+ self.SecretGetOrCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SecretGetOrCreate, client, server_url)
157
+ self.SecretList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SecretList, client, server_url)
158
+ self.SharedVolumeDelete = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeDelete, client, server_url)
159
+ self.SharedVolumeGetFile = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeGetFile, client, server_url)
160
+ self.SharedVolumeGetOrCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeGetOrCreate, client, server_url)
161
+ self.SharedVolumeHeartbeat = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeHeartbeat, client, server_url)
162
+ self.SharedVolumeList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeList, client, server_url)
163
+ self.SharedVolumeListFiles = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeListFiles, client, server_url)
164
+ self.SharedVolumeListFilesStream = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.SharedVolumeListFilesStream, client, server_url)
165
+ self.SharedVolumePutFile = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SharedVolumePutFile, client, server_url)
166
+ self.SharedVolumeRemoveFile = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeRemoveFile, client, server_url)
167
+ self.TaskClusterHello = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.TaskClusterHello, client, server_url)
168
+ self.TaskCurrentInputs = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.TaskCurrentInputs, client, server_url)
169
+ self.TaskGetCommandRouterAccess = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.TaskGetCommandRouterAccess, client, server_url)
170
+ self.TaskList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.TaskList, client, server_url)
171
+ self.TaskResult = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.TaskResult, client, server_url)
172
+ self.TokenFlowCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.TokenFlowCreate, client, server_url)
173
+ self.TokenFlowWait = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.TokenFlowWait, client, server_url)
174
+ self.TunnelStart = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.TunnelStart, client, server_url)
175
+ self.TunnelStop = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.TunnelStop, client, server_url)
176
+ self.VolumeCommit = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeCommit, client, server_url)
177
+ self.VolumeCopyFiles = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeCopyFiles, client, server_url)
178
+ self.VolumeCopyFiles2 = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeCopyFiles2, client, server_url)
179
+ self.VolumeDelete = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeDelete, client, server_url)
180
+ self.VolumeGetFile = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeGetFile, client, server_url)
181
+ self.VolumeGetFile2 = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeGetFile2, client, server_url)
182
+ self.VolumeGetOrCreate = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeGetOrCreate, client, server_url)
183
+ self.VolumeHeartbeat = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeHeartbeat, client, server_url)
184
+ self.VolumeList = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeList, client, server_url)
185
+ self.VolumeListFiles = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.VolumeListFiles, client, server_url)
186
+ self.VolumeListFiles2 = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.VolumeListFiles2, client, server_url)
187
+ self.VolumePutFiles = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumePutFiles, client, server_url)
188
+ self.VolumePutFiles2 = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumePutFiles2, client, server_url)
189
+ self.VolumeReload = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeReload, client, server_url)
190
+ self.VolumeRemoveFile = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeRemoveFile, client, server_url)
191
+ self.VolumeRemoveFile2 = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeRemoveFile2, client, server_url)
192
+ self.VolumeRename = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.VolumeRename, client, server_url)
193
+ self.WorkspaceBillingReport = modal._grpc_client.UnaryStreamWrapper(grpclib_stub.WorkspaceBillingReport, client, server_url)
194
+ self.WorkspaceNameLookup = modal._grpc_client.UnaryUnaryWrapper(grpclib_stub.WorkspaceNameLookup, client, server_url)
@@ -0,0 +1,164 @@
1
+ syntax = "proto3";
2
+
3
+ option go_package = "github.com/modal-labs/modal/go/proto";
4
+
5
+ import "google/protobuf/empty.proto";
6
+ import "modal_proto/api.proto";
7
+
8
+ package modal.task_command_router;
9
+
10
+ enum TaskExecStderrConfig {
11
+ // The output will be discarded.
12
+ TASK_EXEC_STDERR_CONFIG_DEVNULL = 0;
13
+ // The output will be streamed to the client.
14
+ TASK_EXEC_STDERR_CONFIG_PIPE = 1;
15
+ // A special value that can be used to indicate that the stderr stream should
16
+ // be merged with the stdout stream.
17
+ TASK_EXEC_STDERR_CONFIG_STDOUT = 2;
18
+ }
19
+
20
+ enum TaskExecStdioFileDescriptor {
21
+ // Read from stdout.
22
+ TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT = 0;
23
+ // Read from stderr.
24
+ TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR = 1;
25
+ }
26
+
27
+ enum TaskExecStdoutConfig {
28
+ // The output will be discarded.
29
+ TASK_EXEC_STDOUT_CONFIG_DEVNULL = 0;
30
+ // The output will be streamed to the client.
31
+ TASK_EXEC_STDOUT_CONFIG_PIPE = 1;
32
+ }
33
+
34
+ message TaskExecPollRequest {
35
+ // The ID of the task running the exec'd command.
36
+ string task_id = 1;
37
+ // The execution ID of the command to wait on.
38
+ string exec_id = 2;
39
+ }
40
+
41
+ // The response to a TaskExecPollRequest. If the exec'd command has not
42
+ // completed, exit_status will be unset.
43
+ message TaskExecPollResponse {
44
+ oneof exit_status {
45
+ // The exit code of the command.
46
+ int32 code = 1;
47
+ // The signal that terminated the command.
48
+ int32 signal = 2;
49
+ }
50
+ // TODO(saltzm): Give a way for the user to distinguish between normal exit
51
+ // and termination by Modal (due to task timeout, exec exceeded deadline, etc.)
52
+ }
53
+
54
+ message TaskExecStartRequest {
55
+ // The ID of the task to execute the command in.
56
+ string task_id = 1;
57
+ // Execution ID. This ID will be used to identify the execution for other
58
+ // requests and ensure exec commands are idempotent.
59
+ string exec_id = 2;
60
+ // Command arguments to execute.
61
+ repeated string command_args= 3;
62
+ // Configures how the stdout of the command will be handled.
63
+ TaskExecStdoutConfig stdout_config = 4;
64
+ // Configures how the stderr of the command will be handled.
65
+ TaskExecStderrConfig stderr_config = 5;
66
+ // Timeout in seconds for the exec'd command to exit. If the command does not
67
+ // exit within this duration, the command will be killed. This is NOT the
68
+ // timeout for the ExecStartRequest RPC to complete.
69
+ optional uint32 timeout_secs = 6;
70
+ // Working directory for the command.
71
+ optional string workdir = 7;
72
+ // Secret IDs to mount into the task.
73
+ repeated string secret_ids = 8;
74
+ // PTY info for the command.
75
+ optional modal.client.PTYInfo pty_info = 9;
76
+ // Enable debugging capabilities on the container runtime. Used only for
77
+ // internal debugging.
78
+ bool runtime_debug = 10;
79
+ }
80
+
81
+ message TaskExecStartResponse { }
82
+
83
+ message TaskExecStdinWriteRequest {
84
+ // The ID of the task running the exec'd command.
85
+ string task_id = 1;
86
+ // The execution ID of the command to write to.
87
+ string exec_id = 2;
88
+ // The offset to start writing to. This is used to resume writing from the
89
+ // last write position if the connection is closed and reopened.
90
+ uint64 offset = 3;
91
+ bytes data = 4;
92
+ // If true, close the stdin stream after writing any provided data.
93
+ // This signals EOF to the exec'd process.
94
+ bool eof = 5;
95
+ }
96
+
97
+ message TaskExecStdinWriteResponse { }
98
+
99
+ message TaskExecStdioReadRequest {
100
+ // The ID of the task running the exec'd command.
101
+ string task_id = 1;
102
+ // The execution ID of the command to read from.
103
+ string exec_id = 2;
104
+ // The offset to start reading from. This is used to resume reading from the
105
+ // last read position if the connection is closed and reopened.
106
+ uint64 offset = 3;
107
+ // Which file descriptor to read from.
108
+ TaskExecStdioFileDescriptor file_descriptor = 4;
109
+ }
110
+
111
+ message TaskExecStdioReadResponse {
112
+ // The data read from the file descriptor.
113
+ bytes data = 1;
114
+ }
115
+
116
+ message TaskExecWaitRequest {
117
+ // The ID of the task running the exec'd command.
118
+ string task_id = 1;
119
+ // The execution ID of the command to wait on.
120
+ string exec_id = 2;
121
+ }
122
+
123
+ message TaskExecWaitResponse {
124
+ oneof exit_status {
125
+ // The exit code of the command.
126
+ int32 code = 1;
127
+ // The signal that terminated the command.
128
+ int32 signal = 2;
129
+ }
130
+ // TODO(saltzm): Give a way for the user to distinguish between normal exit
131
+ // and termination by Modal (due to task timeout, exec exceeded deadline, etc.)
132
+ }
133
+
134
+ message TaskMountDirectoryRequest {
135
+ string task_id = 1;
136
+ bytes path = 2;
137
+ string image_id = 3;
138
+ }
139
+
140
+ message TaskSnapshotDirectoryRequest {
141
+ string task_id = 1;
142
+ bytes path = 2;
143
+ }
144
+
145
+ message TaskSnapshotDirectoryResponse {
146
+ string image_id = 1;
147
+ }
148
+
149
+ service TaskCommandRouter {
150
+ // Poll for the exit status of an exec'd command.
151
+ rpc TaskExecPoll(TaskExecPollRequest) returns (TaskExecPollResponse);
152
+ // Execute a command in the task.
153
+ rpc TaskExecStart(TaskExecStartRequest) returns (TaskExecStartResponse);
154
+ // Write to the stdin stream of an exec'd command.
155
+ rpc TaskExecStdinWrite(TaskExecStdinWriteRequest) returns (TaskExecStdinWriteResponse);
156
+ // Get a stream of output from the stdout or stderr stream of an exec'd command.
157
+ rpc TaskExecStdioRead(TaskExecStdioReadRequest) returns (stream TaskExecStdioReadResponse);
158
+ // Wait for an exec'd command to exit and return the exit code.
159
+ rpc TaskExecWait(TaskExecWaitRequest) returns (TaskExecWaitResponse);
160
+ // Mount an image at a directory in the container.
161
+ rpc TaskMountDirectory(TaskMountDirectoryRequest) returns (google.protobuf.Empty);
162
+ // Snapshot a directory with a mounted image, including any local changes, into a new image.
163
+ rpc TaskSnapshotDirectory(TaskSnapshotDirectoryRequest) returns (TaskSnapshotDirectoryResponse);
164
+ }