modal 1.0.6.dev58__py3-none-any.whl → 1.2.3.dev7__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 (147) hide show
  1. modal/__main__.py +3 -4
  2. modal/_billing.py +80 -0
  3. modal/_clustered_functions.py +7 -3
  4. modal/_clustered_functions.pyi +4 -2
  5. modal/_container_entrypoint.py +41 -49
  6. modal/_functions.py +424 -195
  7. modal/_grpc_client.py +171 -0
  8. modal/_load_context.py +105 -0
  9. modal/_object.py +68 -20
  10. modal/_output.py +58 -45
  11. modal/_partial_function.py +36 -11
  12. modal/_pty.py +7 -3
  13. modal/_resolver.py +21 -35
  14. modal/_runtime/asgi.py +4 -3
  15. modal/_runtime/container_io_manager.py +301 -186
  16. modal/_runtime/container_io_manager.pyi +70 -61
  17. modal/_runtime/execution_context.py +18 -2
  18. modal/_runtime/execution_context.pyi +4 -1
  19. modal/_runtime/gpu_memory_snapshot.py +170 -63
  20. modal/_runtime/user_code_imports.py +28 -58
  21. modal/_serialization.py +57 -1
  22. modal/_utils/async_utils.py +33 -12
  23. modal/_utils/auth_token_manager.py +2 -5
  24. modal/_utils/blob_utils.py +110 -53
  25. modal/_utils/function_utils.py +49 -42
  26. modal/_utils/grpc_utils.py +80 -50
  27. modal/_utils/mount_utils.py +26 -1
  28. modal/_utils/name_utils.py +17 -3
  29. modal/_utils/task_command_router_client.py +536 -0
  30. modal/_utils/time_utils.py +34 -6
  31. modal/app.py +219 -83
  32. modal/app.pyi +229 -56
  33. modal/billing.py +5 -0
  34. modal/{requirements → builder}/2025.06.txt +1 -0
  35. modal/{requirements → builder}/PREVIEW.txt +1 -0
  36. modal/cli/_download.py +19 -3
  37. modal/cli/_traceback.py +3 -2
  38. modal/cli/app.py +4 -4
  39. modal/cli/cluster.py +15 -7
  40. modal/cli/config.py +5 -3
  41. modal/cli/container.py +7 -6
  42. modal/cli/dict.py +22 -16
  43. modal/cli/entry_point.py +12 -5
  44. modal/cli/environment.py +5 -4
  45. modal/cli/import_refs.py +3 -3
  46. modal/cli/launch.py +102 -5
  47. modal/cli/network_file_system.py +9 -13
  48. modal/cli/profile.py +3 -2
  49. modal/cli/programs/launch_instance_ssh.py +94 -0
  50. modal/cli/programs/run_jupyter.py +1 -1
  51. modal/cli/programs/run_marimo.py +95 -0
  52. modal/cli/programs/vscode.py +1 -1
  53. modal/cli/queues.py +57 -26
  54. modal/cli/run.py +58 -16
  55. modal/cli/secret.py +48 -22
  56. modal/cli/utils.py +3 -4
  57. modal/cli/volume.py +28 -25
  58. modal/client.py +13 -116
  59. modal/client.pyi +9 -91
  60. modal/cloud_bucket_mount.py +5 -3
  61. modal/cloud_bucket_mount.pyi +5 -1
  62. modal/cls.py +130 -102
  63. modal/cls.pyi +45 -85
  64. modal/config.py +29 -10
  65. modal/container_process.py +291 -13
  66. modal/container_process.pyi +95 -32
  67. modal/dict.py +282 -63
  68. modal/dict.pyi +423 -73
  69. modal/environments.py +15 -27
  70. modal/environments.pyi +5 -15
  71. modal/exception.py +8 -0
  72. modal/experimental/__init__.py +143 -38
  73. modal/experimental/flash.py +247 -78
  74. modal/experimental/flash.pyi +137 -9
  75. modal/file_io.py +14 -28
  76. modal/file_io.pyi +2 -2
  77. modal/file_pattern_matcher.py +25 -16
  78. modal/functions.pyi +134 -61
  79. modal/image.py +255 -86
  80. modal/image.pyi +300 -62
  81. modal/io_streams.py +436 -126
  82. modal/io_streams.pyi +236 -171
  83. modal/mount.py +62 -157
  84. modal/mount.pyi +45 -172
  85. modal/network_file_system.py +30 -53
  86. modal/network_file_system.pyi +16 -76
  87. modal/object.pyi +42 -8
  88. modal/parallel_map.py +821 -113
  89. modal/parallel_map.pyi +134 -0
  90. modal/partial_function.pyi +4 -1
  91. modal/proxy.py +16 -7
  92. modal/proxy.pyi +10 -2
  93. modal/queue.py +263 -61
  94. modal/queue.pyi +409 -66
  95. modal/runner.py +112 -92
  96. modal/runner.pyi +45 -27
  97. modal/sandbox.py +451 -124
  98. modal/sandbox.pyi +513 -67
  99. modal/secret.py +291 -67
  100. modal/secret.pyi +425 -19
  101. modal/serving.py +7 -11
  102. modal/serving.pyi +7 -8
  103. modal/snapshot.py +11 -8
  104. modal/token_flow.py +4 -4
  105. modal/volume.py +344 -98
  106. modal/volume.pyi +464 -68
  107. {modal-1.0.6.dev58.dist-info → modal-1.2.3.dev7.dist-info}/METADATA +9 -8
  108. modal-1.2.3.dev7.dist-info/RECORD +195 -0
  109. modal_docs/mdmd/mdmd.py +11 -1
  110. modal_proto/api.proto +399 -67
  111. modal_proto/api_grpc.py +241 -1
  112. modal_proto/api_pb2.py +1395 -1000
  113. modal_proto/api_pb2.pyi +1239 -79
  114. modal_proto/api_pb2_grpc.py +499 -4
  115. modal_proto/api_pb2_grpc.pyi +162 -14
  116. modal_proto/modal_api_grpc.py +175 -160
  117. modal_proto/sandbox_router.proto +145 -0
  118. modal_proto/sandbox_router_grpc.py +105 -0
  119. modal_proto/sandbox_router_pb2.py +149 -0
  120. modal_proto/sandbox_router_pb2.pyi +333 -0
  121. modal_proto/sandbox_router_pb2_grpc.py +203 -0
  122. modal_proto/sandbox_router_pb2_grpc.pyi +75 -0
  123. modal_proto/task_command_router.proto +144 -0
  124. modal_proto/task_command_router_grpc.py +105 -0
  125. modal_proto/task_command_router_pb2.py +149 -0
  126. modal_proto/task_command_router_pb2.pyi +333 -0
  127. modal_proto/task_command_router_pb2_grpc.py +203 -0
  128. modal_proto/task_command_router_pb2_grpc.pyi +75 -0
  129. modal_version/__init__.py +1 -1
  130. modal-1.0.6.dev58.dist-info/RECORD +0 -183
  131. modal_proto/modal_options_grpc.py +0 -3
  132. modal_proto/options.proto +0 -19
  133. modal_proto/options_grpc.py +0 -3
  134. modal_proto/options_pb2.py +0 -35
  135. modal_proto/options_pb2.pyi +0 -20
  136. modal_proto/options_pb2_grpc.py +0 -4
  137. modal_proto/options_pb2_grpc.pyi +0 -7
  138. /modal/{requirements → builder}/2023.12.312.txt +0 -0
  139. /modal/{requirements → builder}/2023.12.txt +0 -0
  140. /modal/{requirements → builder}/2024.04.txt +0 -0
  141. /modal/{requirements → builder}/2024.10.txt +0 -0
  142. /modal/{requirements → builder}/README.md +0 -0
  143. /modal/{requirements → builder}/base-images.json +0 -0
  144. {modal-1.0.6.dev58.dist-info → modal-1.2.3.dev7.dist-info}/WHEEL +0 -0
  145. {modal-1.0.6.dev58.dist-info → modal-1.2.3.dev7.dist-info}/entry_points.txt +0 -0
  146. {modal-1.0.6.dev58.dist-info → modal-1.2.3.dev7.dist-info}/licenses/LICENSE +0 -0
  147. {modal-1.0.6.dev58.dist-info → modal-1.2.3.dev7.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,162 +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.FunctionAsyncInvoke = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionAsyncInvoke, client, server_url)
83
- self.FunctionBindParams = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionBindParams, client, server_url)
84
- self.FunctionCallCancel = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallCancel, client, server_url)
85
- self.FunctionCallGetDataIn = modal.client.UnaryStreamWrapper(grpclib_stub.FunctionCallGetDataIn, client, server_url)
86
- self.FunctionCallGetDataOut = modal.client.UnaryStreamWrapper(grpclib_stub.FunctionCallGetDataOut, client, server_url)
87
- self.FunctionCallList = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallList, client, server_url)
88
- self.FunctionCallPutDataOut = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCallPutDataOut, client, server_url)
89
- self.FunctionCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionCreate, client, server_url)
90
- self.FunctionGet = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGet, client, server_url)
91
- self.FunctionGetCallGraph = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetCallGraph, client, server_url)
92
- self.FunctionGetCurrentStats = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetCurrentStats, client, server_url)
93
- self.FunctionGetDynamicConcurrency = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetDynamicConcurrency, client, server_url)
94
- self.FunctionGetInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetInputs, client, server_url)
95
- self.FunctionGetOutputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetOutputs, client, server_url)
96
- self.FunctionGetSerialized = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionGetSerialized, client, server_url)
97
- self.FunctionMap = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionMap, client, server_url)
98
- self.FunctionPrecreate = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionPrecreate, client, server_url)
99
- self.FunctionPutInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionPutInputs, client, server_url)
100
- self.FunctionPutOutputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionPutOutputs, client, server_url)
101
- self.FunctionRetryInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionRetryInputs, client, server_url)
102
- self.FunctionStartPtyShell = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionStartPtyShell, client, server_url)
103
- self.FunctionUpdateSchedulingParams = modal.client.UnaryUnaryWrapper(grpclib_stub.FunctionUpdateSchedulingParams, client, server_url)
104
- self.ImageFromId = modal.client.UnaryUnaryWrapper(grpclib_stub.ImageFromId, client, server_url)
105
- self.ImageGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ImageGetOrCreate, client, server_url)
106
- self.ImageJoinStreaming = modal.client.UnaryStreamWrapper(grpclib_stub.ImageJoinStreaming, client, server_url)
107
- self.MountGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.MountGetOrCreate, client, server_url)
108
- self.MountPutFile = modal.client.UnaryUnaryWrapper(grpclib_stub.MountPutFile, client, server_url)
109
- self.NotebookKernelPublishResults = modal.client.UnaryUnaryWrapper(grpclib_stub.NotebookKernelPublishResults, client, server_url)
110
- self.ProxyAddIp = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyAddIp, client, server_url)
111
- self.ProxyCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyCreate, client, server_url)
112
- self.ProxyDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyDelete, client, server_url)
113
- self.ProxyGet = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyGet, client, server_url)
114
- self.ProxyGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyGetOrCreate, client, server_url)
115
- self.ProxyList = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyList, client, server_url)
116
- self.ProxyRemoveIp = modal.client.UnaryUnaryWrapper(grpclib_stub.ProxyRemoveIp, client, server_url)
117
- self.QueueClear = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueClear, client, server_url)
118
- self.QueueDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueDelete, client, server_url)
119
- self.QueueGet = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueGet, client, server_url)
120
- self.QueueGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueGetOrCreate, client, server_url)
121
- self.QueueHeartbeat = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueHeartbeat, client, server_url)
122
- self.QueueLen = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueLen, client, server_url)
123
- self.QueueList = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueList, client, server_url)
124
- self.QueueNextItems = modal.client.UnaryUnaryWrapper(grpclib_stub.QueueNextItems, client, server_url)
125
- self.QueuePut = modal.client.UnaryUnaryWrapper(grpclib_stub.QueuePut, client, server_url)
126
- self.SandboxCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxCreate, client, server_url)
127
- self.SandboxGetFromName = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetFromName, client, server_url)
128
- self.SandboxGetLogs = modal.client.UnaryStreamWrapper(grpclib_stub.SandboxGetLogs, client, server_url)
129
- self.SandboxGetResourceUsage = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetResourceUsage, client, server_url)
130
- self.SandboxGetTaskId = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetTaskId, client, server_url)
131
- self.SandboxGetTunnels = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxGetTunnels, client, server_url)
132
- self.SandboxList = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxList, client, server_url)
133
- self.SandboxRestore = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxRestore, client, server_url)
134
- self.SandboxSnapshot = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshot, client, server_url)
135
- self.SandboxSnapshotFs = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotFs, client, server_url)
136
- self.SandboxSnapshotGet = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotGet, client, server_url)
137
- self.SandboxSnapshotWait = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxSnapshotWait, client, server_url)
138
- self.SandboxStdinWrite = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxStdinWrite, client, server_url)
139
- self.SandboxTagsSet = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxTagsSet, client, server_url)
140
- self.SandboxTerminate = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxTerminate, client, server_url)
141
- self.SandboxWait = modal.client.UnaryUnaryWrapper(grpclib_stub.SandboxWait, client, server_url)
142
- self.SecretDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.SecretDelete, client, server_url)
143
- self.SecretGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.SecretGetOrCreate, client, server_url)
144
- self.SecretList = modal.client.UnaryUnaryWrapper(grpclib_stub.SecretList, client, server_url)
145
- self.SharedVolumeDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeDelete, client, server_url)
146
- self.SharedVolumeGetFile = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeGetFile, client, server_url)
147
- self.SharedVolumeGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeGetOrCreate, client, server_url)
148
- self.SharedVolumeHeartbeat = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeHeartbeat, client, server_url)
149
- self.SharedVolumeList = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeList, client, server_url)
150
- self.SharedVolumeListFiles = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeListFiles, client, server_url)
151
- self.SharedVolumeListFilesStream = modal.client.UnaryStreamWrapper(grpclib_stub.SharedVolumeListFilesStream, client, server_url)
152
- self.SharedVolumePutFile = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumePutFile, client, server_url)
153
- self.SharedVolumeRemoveFile = modal.client.UnaryUnaryWrapper(grpclib_stub.SharedVolumeRemoveFile, client, server_url)
154
- self.TaskClusterHello = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskClusterHello, client, server_url)
155
- self.TaskCurrentInputs = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskCurrentInputs, client, server_url)
156
- self.TaskList = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskList, client, server_url)
157
- self.TaskResult = modal.client.UnaryUnaryWrapper(grpclib_stub.TaskResult, client, server_url)
158
- self.TokenFlowCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.TokenFlowCreate, client, server_url)
159
- self.TokenFlowWait = modal.client.UnaryUnaryWrapper(grpclib_stub.TokenFlowWait, client, server_url)
160
- self.TunnelStart = modal.client.UnaryUnaryWrapper(grpclib_stub.TunnelStart, client, server_url)
161
- self.TunnelStop = modal.client.UnaryUnaryWrapper(grpclib_stub.TunnelStop, client, server_url)
162
- self.VolumeCommit = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeCommit, client, server_url)
163
- self.VolumeCopyFiles = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeCopyFiles, client, server_url)
164
- self.VolumeCopyFiles2 = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeCopyFiles2, client, server_url)
165
- self.VolumeDelete = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeDelete, client, server_url)
166
- self.VolumeGetFile = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeGetFile, client, server_url)
167
- self.VolumeGetFile2 = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeGetFile2, client, server_url)
168
- self.VolumeGetOrCreate = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeGetOrCreate, client, server_url)
169
- self.VolumeHeartbeat = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeHeartbeat, client, server_url)
170
- self.VolumeList = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeList, client, server_url)
171
- self.VolumeListFiles = modal.client.UnaryStreamWrapper(grpclib_stub.VolumeListFiles, client, server_url)
172
- self.VolumeListFiles2 = modal.client.UnaryStreamWrapper(grpclib_stub.VolumeListFiles2, client, server_url)
173
- self.VolumePutFiles = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumePutFiles, client, server_url)
174
- self.VolumePutFiles2 = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumePutFiles2, client, server_url)
175
- self.VolumeReload = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeReload, client, server_url)
176
- self.VolumeRemoveFile = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeRemoveFile, client, server_url)
177
- self.VolumeRemoveFile2 = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeRemoveFile2, client, server_url)
178
- self.VolumeRename = modal.client.UnaryUnaryWrapper(grpclib_stub.VolumeRename, client, server_url)
179
- 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,145 @@
1
+ syntax = "proto3";
2
+
3
+ option go_package = "github.com/modal-labs/modal/go/proto";
4
+
5
+ import "modal_proto/api.proto";
6
+
7
+ package modal.sandbox_router;
8
+
9
+ enum SandboxExecStderrConfig {
10
+ // The output will be discarded.
11
+ SANDBOX_EXEC_STDERR_CONFIG_DEVNULL = 0;
12
+ // The output will be streamed to the client.
13
+ SANDBOX_EXEC_STDERR_CONFIG_PIPE = 1;
14
+ // A special value that can be used to indicate that the stderr stream should
15
+ // be merged with the stdout stream.
16
+ SANDBOX_EXEC_STDERR_CONFIG_STDOUT = 2;
17
+ }
18
+
19
+ enum SandboxExecStdioFileDescriptor {
20
+ // Read from stdout.
21
+ SANDBOX_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT = 0;
22
+ // Read from stderr.
23
+ SANDBOX_EXEC_STDIO_FILE_DESCRIPTOR_STDERR = 1;
24
+ }
25
+
26
+ enum SandboxExecStdoutConfig {
27
+ // The output will be discarded.
28
+ SANDBOX_EXEC_STDOUT_CONFIG_DEVNULL = 0;
29
+ // The output will be streamed to the client.
30
+ SANDBOX_EXEC_STDOUT_CONFIG_PIPE = 1;
31
+ }
32
+
33
+ message SandboxExecPollRequest {
34
+ // The task ID of the sandbox running the exec'd command.
35
+ string task_id = 1;
36
+ // The execution ID of the command to wait on.
37
+ string exec_id = 2;
38
+ }
39
+
40
+ // The response to a SandboxExecPollRequest. If the exec'd command has not
41
+ // completed, exit_status will be unset.
42
+ message SandboxExecPollResponse {
43
+ oneof exit_status {
44
+ // The exit code of the command.
45
+ int32 code = 1;
46
+ // The signal that terminated the command.
47
+ int32 signal = 2;
48
+ }
49
+ // TODO(saltzm): Give a way for the user to distinguish between normal exit
50
+ // and termination by Modal (due to sandbox timeout, exec exceeded deadline, etc.)
51
+ }
52
+
53
+ message SandboxExecStartRequest {
54
+ // The task ID of the sandbox to execute the command in.
55
+ string task_id = 1;
56
+ // Execution ID. This ID will be used to identify the execution for other
57
+ // requests and ensure exec commands are idempotent.
58
+ string exec_id = 2;
59
+ // Command arguments to execute.
60
+ repeated string command_args= 3;
61
+ // Configures how the stdout of the command will be handled.
62
+ SandboxExecStdoutConfig stdout_config = 4;
63
+ // Configures how the stderr of the command will be handled.
64
+ SandboxExecStderrConfig stderr_config = 5;
65
+ // Timeout in seconds for the exec'd command to exit. If the command does not
66
+ // exit within this duration, the command will be killed. This is NOT the
67
+ // timeout for the ExecStartRequest RPC to complete.
68
+ optional uint32 timeout_secs = 6;
69
+ // Working directory for the command.
70
+ optional string workdir = 7;
71
+ // Secret IDs to mount into the sandbox.
72
+ repeated string secret_ids = 8;
73
+ // PTY info for the command.
74
+ optional modal.client.PTYInfo pty_info = 9;
75
+ // Enable debugging capabilities on the container runtime. Used only for
76
+ // internal debugging.
77
+ bool runtime_debug = 10;
78
+ }
79
+
80
+ message SandboxExecStartResponse { }
81
+
82
+ message SandboxExecStdinWriteRequest {
83
+ // The task ID of the sandbox running the exec'd command.
84
+ string task_id = 1;
85
+ // The execution ID of the command to write to.
86
+ string exec_id = 2;
87
+ // The offset to start writing to. This is used to resume writing from the
88
+ // last write position if the connection is closed and reopened.
89
+ uint64 offset = 3;
90
+ bytes data = 4;
91
+ // If true, close the stdin stream after writing any provided data.
92
+ // This signals EOF to the exec'd process.
93
+ bool eof = 5;
94
+ }
95
+
96
+ message SandboxExecStdinWriteResponse { }
97
+
98
+
99
+ message SandboxExecStdioReadRequest {
100
+ // The task ID of the sandbox 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
+ SandboxExecStdioFileDescriptor file_descriptor = 4;
109
+ }
110
+
111
+ message SandboxExecStdioReadResponse {
112
+ // The data read from the file descriptor.
113
+ bytes data = 1;
114
+ }
115
+
116
+ message SandboxExecWaitRequest {
117
+ // The task ID of the sandbox 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 SandboxExecWaitResponse {
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 sandbox timeout, exec exceeded deadline, etc.)
132
+ }
133
+
134
+ service SandboxRouter {
135
+ // Poll for the exit status of an exec'd command.
136
+ rpc SandboxExecPoll(SandboxExecPollRequest) returns (SandboxExecPollResponse);
137
+ // Execute a command in the sandbox.
138
+ rpc SandboxExecStart(SandboxExecStartRequest) returns (SandboxExecStartResponse);
139
+ // Write to the stdin stream of an exec'd command.
140
+ rpc SandboxExecStdinWrite(SandboxExecStdinWriteRequest) returns (SandboxExecStdinWriteResponse);
141
+ // Get a stream of output from the stdout or stderr stream of an exec'd command.
142
+ rpc SandboxExecStdioRead(SandboxExecStdioReadRequest) returns (stream SandboxExecStdioReadResponse);
143
+ // Wait for an exec'd command to exit and return the exit code.
144
+ rpc SandboxExecWait(SandboxExecWaitRequest) returns (SandboxExecWaitResponse);
145
+ }