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
@@ -0,0 +1,138 @@
1
+ # Generated by the Protocol Buffers compiler. DO NOT EDIT!
2
+ # source: modal_proto/task_command_router.proto
3
+ # plugin: grpclib.plugin.main
4
+ import abc
5
+ import typing
6
+
7
+ import grpclib.const
8
+ import grpclib.client
9
+ if typing.TYPE_CHECKING:
10
+ import grpclib.server
11
+
12
+ import google.protobuf.empty_pb2
13
+ import modal_proto.api_pb2
14
+ import modal_proto.task_command_router_pb2
15
+
16
+
17
+ class TaskCommandRouterBase(abc.ABC):
18
+
19
+ @abc.abstractmethod
20
+ async def TaskExecPoll(self, stream: 'grpclib.server.Stream[modal_proto.task_command_router_pb2.TaskExecPollRequest, modal_proto.task_command_router_pb2.TaskExecPollResponse]') -> None:
21
+ pass
22
+
23
+ @abc.abstractmethod
24
+ async def TaskExecStart(self, stream: 'grpclib.server.Stream[modal_proto.task_command_router_pb2.TaskExecStartRequest, modal_proto.task_command_router_pb2.TaskExecStartResponse]') -> None:
25
+ pass
26
+
27
+ @abc.abstractmethod
28
+ async def TaskExecStdinWrite(self, stream: 'grpclib.server.Stream[modal_proto.task_command_router_pb2.TaskExecStdinWriteRequest, modal_proto.task_command_router_pb2.TaskExecStdinWriteResponse]') -> None:
29
+ pass
30
+
31
+ @abc.abstractmethod
32
+ async def TaskExecStdioRead(self, stream: 'grpclib.server.Stream[modal_proto.task_command_router_pb2.TaskExecStdioReadRequest, modal_proto.task_command_router_pb2.TaskExecStdioReadResponse]') -> None:
33
+ pass
34
+
35
+ @abc.abstractmethod
36
+ async def TaskExecWait(self, stream: 'grpclib.server.Stream[modal_proto.task_command_router_pb2.TaskExecWaitRequest, modal_proto.task_command_router_pb2.TaskExecWaitResponse]') -> None:
37
+ pass
38
+
39
+ @abc.abstractmethod
40
+ async def TaskMountDirectory(self, stream: 'grpclib.server.Stream[modal_proto.task_command_router_pb2.TaskMountDirectoryRequest, google.protobuf.empty_pb2.Empty]') -> None:
41
+ pass
42
+
43
+ @abc.abstractmethod
44
+ async def TaskSnapshotDirectory(self, stream: 'grpclib.server.Stream[modal_proto.task_command_router_pb2.TaskSnapshotDirectoryRequest, modal_proto.task_command_router_pb2.TaskSnapshotDirectoryResponse]') -> None:
45
+ pass
46
+
47
+ def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]:
48
+ return {
49
+ '/modal.task_command_router.TaskCommandRouter/TaskExecPoll': grpclib.const.Handler(
50
+ self.TaskExecPoll,
51
+ grpclib.const.Cardinality.UNARY_UNARY,
52
+ modal_proto.task_command_router_pb2.TaskExecPollRequest,
53
+ modal_proto.task_command_router_pb2.TaskExecPollResponse,
54
+ ),
55
+ '/modal.task_command_router.TaskCommandRouter/TaskExecStart': grpclib.const.Handler(
56
+ self.TaskExecStart,
57
+ grpclib.const.Cardinality.UNARY_UNARY,
58
+ modal_proto.task_command_router_pb2.TaskExecStartRequest,
59
+ modal_proto.task_command_router_pb2.TaskExecStartResponse,
60
+ ),
61
+ '/modal.task_command_router.TaskCommandRouter/TaskExecStdinWrite': grpclib.const.Handler(
62
+ self.TaskExecStdinWrite,
63
+ grpclib.const.Cardinality.UNARY_UNARY,
64
+ modal_proto.task_command_router_pb2.TaskExecStdinWriteRequest,
65
+ modal_proto.task_command_router_pb2.TaskExecStdinWriteResponse,
66
+ ),
67
+ '/modal.task_command_router.TaskCommandRouter/TaskExecStdioRead': grpclib.const.Handler(
68
+ self.TaskExecStdioRead,
69
+ grpclib.const.Cardinality.UNARY_STREAM,
70
+ modal_proto.task_command_router_pb2.TaskExecStdioReadRequest,
71
+ modal_proto.task_command_router_pb2.TaskExecStdioReadResponse,
72
+ ),
73
+ '/modal.task_command_router.TaskCommandRouter/TaskExecWait': grpclib.const.Handler(
74
+ self.TaskExecWait,
75
+ grpclib.const.Cardinality.UNARY_UNARY,
76
+ modal_proto.task_command_router_pb2.TaskExecWaitRequest,
77
+ modal_proto.task_command_router_pb2.TaskExecWaitResponse,
78
+ ),
79
+ '/modal.task_command_router.TaskCommandRouter/TaskMountDirectory': grpclib.const.Handler(
80
+ self.TaskMountDirectory,
81
+ grpclib.const.Cardinality.UNARY_UNARY,
82
+ modal_proto.task_command_router_pb2.TaskMountDirectoryRequest,
83
+ google.protobuf.empty_pb2.Empty,
84
+ ),
85
+ '/modal.task_command_router.TaskCommandRouter/TaskSnapshotDirectory': grpclib.const.Handler(
86
+ self.TaskSnapshotDirectory,
87
+ grpclib.const.Cardinality.UNARY_UNARY,
88
+ modal_proto.task_command_router_pb2.TaskSnapshotDirectoryRequest,
89
+ modal_proto.task_command_router_pb2.TaskSnapshotDirectoryResponse,
90
+ ),
91
+ }
92
+
93
+
94
+ class TaskCommandRouterStub:
95
+
96
+ def __init__(self, channel: grpclib.client.Channel) -> None:
97
+ self.TaskExecPoll = grpclib.client.UnaryUnaryMethod(
98
+ channel,
99
+ '/modal.task_command_router.TaskCommandRouter/TaskExecPoll',
100
+ modal_proto.task_command_router_pb2.TaskExecPollRequest,
101
+ modal_proto.task_command_router_pb2.TaskExecPollResponse,
102
+ )
103
+ self.TaskExecStart = grpclib.client.UnaryUnaryMethod(
104
+ channel,
105
+ '/modal.task_command_router.TaskCommandRouter/TaskExecStart',
106
+ modal_proto.task_command_router_pb2.TaskExecStartRequest,
107
+ modal_proto.task_command_router_pb2.TaskExecStartResponse,
108
+ )
109
+ self.TaskExecStdinWrite = grpclib.client.UnaryUnaryMethod(
110
+ channel,
111
+ '/modal.task_command_router.TaskCommandRouter/TaskExecStdinWrite',
112
+ modal_proto.task_command_router_pb2.TaskExecStdinWriteRequest,
113
+ modal_proto.task_command_router_pb2.TaskExecStdinWriteResponse,
114
+ )
115
+ self.TaskExecStdioRead = grpclib.client.UnaryStreamMethod(
116
+ channel,
117
+ '/modal.task_command_router.TaskCommandRouter/TaskExecStdioRead',
118
+ modal_proto.task_command_router_pb2.TaskExecStdioReadRequest,
119
+ modal_proto.task_command_router_pb2.TaskExecStdioReadResponse,
120
+ )
121
+ self.TaskExecWait = grpclib.client.UnaryUnaryMethod(
122
+ channel,
123
+ '/modal.task_command_router.TaskCommandRouter/TaskExecWait',
124
+ modal_proto.task_command_router_pb2.TaskExecWaitRequest,
125
+ modal_proto.task_command_router_pb2.TaskExecWaitResponse,
126
+ )
127
+ self.TaskMountDirectory = grpclib.client.UnaryUnaryMethod(
128
+ channel,
129
+ '/modal.task_command_router.TaskCommandRouter/TaskMountDirectory',
130
+ modal_proto.task_command_router_pb2.TaskMountDirectoryRequest,
131
+ google.protobuf.empty_pb2.Empty,
132
+ )
133
+ self.TaskSnapshotDirectory = grpclib.client.UnaryUnaryMethod(
134
+ channel,
135
+ '/modal.task_command_router.TaskCommandRouter/TaskSnapshotDirectory',
136
+ modal_proto.task_command_router_pb2.TaskSnapshotDirectoryRequest,
137
+ modal_proto.task_command_router_pb2.TaskSnapshotDirectoryResponse,
138
+ )
@@ -0,0 +1,180 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: modal_proto/task_command_router.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf.internal import enum_type_wrapper
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import message as _message
9
+ from google.protobuf import reflection as _reflection
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ # @@protoc_insertion_point(imports)
12
+
13
+ _sym_db = _symbol_database.Default()
14
+
15
+
16
+ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
17
+ from modal_proto import api_pb2 as modal__proto_dot_api__pb2
18
+
19
+
20
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15modal_proto/api.proto\"7\n\x13TaskExecPollRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecPollResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\x92\x03\n\x14TaskExecStartRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x14\n\x0c\x63ommand_args\x18\x03 \x03(\t\x12\x46\n\rstdout_config\x18\x04 \x01(\x0e\x32/.modal.task_command_router.TaskExecStdoutConfig\x12\x46\n\rstderr_config\x18\x05 \x01(\x0e\x32/.modal.task_command_router.TaskExecStderrConfig\x12\x19\n\x0ctimeout_secs\x18\x06 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07workdir\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12,\n\x08pty_info\x18\t \x01(\x0b\x32\x15.modal.client.PTYInfoH\x02\x88\x01\x01\x12\x15\n\rruntime_debug\x18\n \x01(\x08\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\"h\n\x19TaskExecStdinWriteRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x05 \x01(\x08\"\x1c\n\x1aTaskExecStdinWriteResponse\"\x9d\x01\n\x18TaskExecStdioReadRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12O\n\x0f\x66ile_descriptor\x18\x04 \x01(\x0e\x32\x36.modal.task_command_router.TaskExecStdioFileDescriptor\")\n\x19TaskExecStdioReadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"7\n\x13TaskExecWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecWaitResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"L\n\x19TaskMountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x10\n\x08image_id\x18\x03 \x01(\t\"=\n\x1cTaskSnapshotDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\"1\n\x1dTaskSnapshotDirectoryResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t*\x81\x01\n\x14TaskExecStderrConfig\x12#\n\x1fTASK_EXEC_STDERR_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDERR_CONFIG_PIPE\x10\x01\x12\"\n\x1eTASK_EXEC_STDERR_CONFIG_STDOUT\x10\x02*u\n\x1bTaskExecStdioFileDescriptor\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*]\n\x14TaskExecStdoutConfig\x12#\n\x1fTASK_EXEC_STDOUT_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDOUT_CONFIG_PIPE\x10\x01\x32\xe1\x06\n\x11TaskCommandRouter\x12o\n\x0cTaskExecPoll\x12..modal.task_command_router.TaskExecPollRequest\x1a/.modal.task_command_router.TaskExecPollResponse\x12r\n\rTaskExecStart\x12/.modal.task_command_router.TaskExecStartRequest\x1a\x30.modal.task_command_router.TaskExecStartResponse\x12\x81\x01\n\x12TaskExecStdinWrite\x12\x34.modal.task_command_router.TaskExecStdinWriteRequest\x1a\x35.modal.task_command_router.TaskExecStdinWriteResponse\x12\x80\x01\n\x11TaskExecStdioRead\x12\x33.modal.task_command_router.TaskExecStdioReadRequest\x1a\x34.modal.task_command_router.TaskExecStdioReadResponse0\x01\x12o\n\x0cTaskExecWait\x12..modal.task_command_router.TaskExecWaitRequest\x1a/.modal.task_command_router.TaskExecWaitResponse\x12\x62\n\x12TaskMountDirectory\x12\x34.modal.task_command_router.TaskMountDirectoryRequest\x1a\x16.google.protobuf.Empty\x12\x8a\x01\n\x15TaskSnapshotDirectory\x12\x37.modal.task_command_router.TaskSnapshotDirectoryRequest\x1a\x38.modal.task_command_router.TaskSnapshotDirectoryResponseB&Z$github.com/modal-labs/modal/go/protob\x06proto3')
21
+
22
+ _TASKEXECSTDERRCONFIG = DESCRIPTOR.enum_types_by_name['TaskExecStderrConfig']
23
+ TaskExecStderrConfig = enum_type_wrapper.EnumTypeWrapper(_TASKEXECSTDERRCONFIG)
24
+ _TASKEXECSTDIOFILEDESCRIPTOR = DESCRIPTOR.enum_types_by_name['TaskExecStdioFileDescriptor']
25
+ TaskExecStdioFileDescriptor = enum_type_wrapper.EnumTypeWrapper(_TASKEXECSTDIOFILEDESCRIPTOR)
26
+ _TASKEXECSTDOUTCONFIG = DESCRIPTOR.enum_types_by_name['TaskExecStdoutConfig']
27
+ TaskExecStdoutConfig = enum_type_wrapper.EnumTypeWrapper(_TASKEXECSTDOUTCONFIG)
28
+ TASK_EXEC_STDERR_CONFIG_DEVNULL = 0
29
+ TASK_EXEC_STDERR_CONFIG_PIPE = 1
30
+ TASK_EXEC_STDERR_CONFIG_STDOUT = 2
31
+ TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT = 0
32
+ TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR = 1
33
+ TASK_EXEC_STDOUT_CONFIG_DEVNULL = 0
34
+ TASK_EXEC_STDOUT_CONFIG_PIPE = 1
35
+
36
+
37
+ _TASKEXECPOLLREQUEST = DESCRIPTOR.message_types_by_name['TaskExecPollRequest']
38
+ _TASKEXECPOLLRESPONSE = DESCRIPTOR.message_types_by_name['TaskExecPollResponse']
39
+ _TASKEXECSTARTREQUEST = DESCRIPTOR.message_types_by_name['TaskExecStartRequest']
40
+ _TASKEXECSTARTRESPONSE = DESCRIPTOR.message_types_by_name['TaskExecStartResponse']
41
+ _TASKEXECSTDINWRITEREQUEST = DESCRIPTOR.message_types_by_name['TaskExecStdinWriteRequest']
42
+ _TASKEXECSTDINWRITERESPONSE = DESCRIPTOR.message_types_by_name['TaskExecStdinWriteResponse']
43
+ _TASKEXECSTDIOREADREQUEST = DESCRIPTOR.message_types_by_name['TaskExecStdioReadRequest']
44
+ _TASKEXECSTDIOREADRESPONSE = DESCRIPTOR.message_types_by_name['TaskExecStdioReadResponse']
45
+ _TASKEXECWAITREQUEST = DESCRIPTOR.message_types_by_name['TaskExecWaitRequest']
46
+ _TASKEXECWAITRESPONSE = DESCRIPTOR.message_types_by_name['TaskExecWaitResponse']
47
+ _TASKMOUNTDIRECTORYREQUEST = DESCRIPTOR.message_types_by_name['TaskMountDirectoryRequest']
48
+ _TASKSNAPSHOTDIRECTORYREQUEST = DESCRIPTOR.message_types_by_name['TaskSnapshotDirectoryRequest']
49
+ _TASKSNAPSHOTDIRECTORYRESPONSE = DESCRIPTOR.message_types_by_name['TaskSnapshotDirectoryResponse']
50
+ TaskExecPollRequest = _reflection.GeneratedProtocolMessageType('TaskExecPollRequest', (_message.Message,), {
51
+ 'DESCRIPTOR' : _TASKEXECPOLLREQUEST,
52
+ '__module__' : 'modal_proto.task_command_router_pb2'
53
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecPollRequest)
54
+ })
55
+ _sym_db.RegisterMessage(TaskExecPollRequest)
56
+
57
+ TaskExecPollResponse = _reflection.GeneratedProtocolMessageType('TaskExecPollResponse', (_message.Message,), {
58
+ 'DESCRIPTOR' : _TASKEXECPOLLRESPONSE,
59
+ '__module__' : 'modal_proto.task_command_router_pb2'
60
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecPollResponse)
61
+ })
62
+ _sym_db.RegisterMessage(TaskExecPollResponse)
63
+
64
+ TaskExecStartRequest = _reflection.GeneratedProtocolMessageType('TaskExecStartRequest', (_message.Message,), {
65
+ 'DESCRIPTOR' : _TASKEXECSTARTREQUEST,
66
+ '__module__' : 'modal_proto.task_command_router_pb2'
67
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStartRequest)
68
+ })
69
+ _sym_db.RegisterMessage(TaskExecStartRequest)
70
+
71
+ TaskExecStartResponse = _reflection.GeneratedProtocolMessageType('TaskExecStartResponse', (_message.Message,), {
72
+ 'DESCRIPTOR' : _TASKEXECSTARTRESPONSE,
73
+ '__module__' : 'modal_proto.task_command_router_pb2'
74
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStartResponse)
75
+ })
76
+ _sym_db.RegisterMessage(TaskExecStartResponse)
77
+
78
+ TaskExecStdinWriteRequest = _reflection.GeneratedProtocolMessageType('TaskExecStdinWriteRequest', (_message.Message,), {
79
+ 'DESCRIPTOR' : _TASKEXECSTDINWRITEREQUEST,
80
+ '__module__' : 'modal_proto.task_command_router_pb2'
81
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStdinWriteRequest)
82
+ })
83
+ _sym_db.RegisterMessage(TaskExecStdinWriteRequest)
84
+
85
+ TaskExecStdinWriteResponse = _reflection.GeneratedProtocolMessageType('TaskExecStdinWriteResponse', (_message.Message,), {
86
+ 'DESCRIPTOR' : _TASKEXECSTDINWRITERESPONSE,
87
+ '__module__' : 'modal_proto.task_command_router_pb2'
88
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStdinWriteResponse)
89
+ })
90
+ _sym_db.RegisterMessage(TaskExecStdinWriteResponse)
91
+
92
+ TaskExecStdioReadRequest = _reflection.GeneratedProtocolMessageType('TaskExecStdioReadRequest', (_message.Message,), {
93
+ 'DESCRIPTOR' : _TASKEXECSTDIOREADREQUEST,
94
+ '__module__' : 'modal_proto.task_command_router_pb2'
95
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStdioReadRequest)
96
+ })
97
+ _sym_db.RegisterMessage(TaskExecStdioReadRequest)
98
+
99
+ TaskExecStdioReadResponse = _reflection.GeneratedProtocolMessageType('TaskExecStdioReadResponse', (_message.Message,), {
100
+ 'DESCRIPTOR' : _TASKEXECSTDIOREADRESPONSE,
101
+ '__module__' : 'modal_proto.task_command_router_pb2'
102
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecStdioReadResponse)
103
+ })
104
+ _sym_db.RegisterMessage(TaskExecStdioReadResponse)
105
+
106
+ TaskExecWaitRequest = _reflection.GeneratedProtocolMessageType('TaskExecWaitRequest', (_message.Message,), {
107
+ 'DESCRIPTOR' : _TASKEXECWAITREQUEST,
108
+ '__module__' : 'modal_proto.task_command_router_pb2'
109
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecWaitRequest)
110
+ })
111
+ _sym_db.RegisterMessage(TaskExecWaitRequest)
112
+
113
+ TaskExecWaitResponse = _reflection.GeneratedProtocolMessageType('TaskExecWaitResponse', (_message.Message,), {
114
+ 'DESCRIPTOR' : _TASKEXECWAITRESPONSE,
115
+ '__module__' : 'modal_proto.task_command_router_pb2'
116
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskExecWaitResponse)
117
+ })
118
+ _sym_db.RegisterMessage(TaskExecWaitResponse)
119
+
120
+ TaskMountDirectoryRequest = _reflection.GeneratedProtocolMessageType('TaskMountDirectoryRequest', (_message.Message,), {
121
+ 'DESCRIPTOR' : _TASKMOUNTDIRECTORYREQUEST,
122
+ '__module__' : 'modal_proto.task_command_router_pb2'
123
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskMountDirectoryRequest)
124
+ })
125
+ _sym_db.RegisterMessage(TaskMountDirectoryRequest)
126
+
127
+ TaskSnapshotDirectoryRequest = _reflection.GeneratedProtocolMessageType('TaskSnapshotDirectoryRequest', (_message.Message,), {
128
+ 'DESCRIPTOR' : _TASKSNAPSHOTDIRECTORYREQUEST,
129
+ '__module__' : 'modal_proto.task_command_router_pb2'
130
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskSnapshotDirectoryRequest)
131
+ })
132
+ _sym_db.RegisterMessage(TaskSnapshotDirectoryRequest)
133
+
134
+ TaskSnapshotDirectoryResponse = _reflection.GeneratedProtocolMessageType('TaskSnapshotDirectoryResponse', (_message.Message,), {
135
+ 'DESCRIPTOR' : _TASKSNAPSHOTDIRECTORYRESPONSE,
136
+ '__module__' : 'modal_proto.task_command_router_pb2'
137
+ # @@protoc_insertion_point(class_scope:modal.task_command_router.TaskSnapshotDirectoryResponse)
138
+ })
139
+ _sym_db.RegisterMessage(TaskSnapshotDirectoryResponse)
140
+
141
+ _TASKCOMMANDROUTER = DESCRIPTOR.services_by_name['TaskCommandRouter']
142
+ if _descriptor._USE_C_DESCRIPTORS == False:
143
+
144
+ DESCRIPTOR._options = None
145
+ DESCRIPTOR._serialized_options = b'Z$github.com/modal-labs/modal/go/proto'
146
+ _TASKEXECSTDERRCONFIG._serialized_start=1342
147
+ _TASKEXECSTDERRCONFIG._serialized_end=1471
148
+ _TASKEXECSTDIOFILEDESCRIPTOR._serialized_start=1473
149
+ _TASKEXECSTDIOFILEDESCRIPTOR._serialized_end=1590
150
+ _TASKEXECSTDOUTCONFIG._serialized_start=1592
151
+ _TASKEXECSTDOUTCONFIG._serialized_end=1685
152
+ _TASKEXECPOLLREQUEST._serialized_start=120
153
+ _TASKEXECPOLLREQUEST._serialized_end=175
154
+ _TASKEXECPOLLRESPONSE._serialized_start=177
155
+ _TASKEXECPOLLRESPONSE._serialized_end=248
156
+ _TASKEXECSTARTREQUEST._serialized_start=251
157
+ _TASKEXECSTARTREQUEST._serialized_end=653
158
+ _TASKEXECSTARTRESPONSE._serialized_start=655
159
+ _TASKEXECSTARTRESPONSE._serialized_end=678
160
+ _TASKEXECSTDINWRITEREQUEST._serialized_start=680
161
+ _TASKEXECSTDINWRITEREQUEST._serialized_end=784
162
+ _TASKEXECSTDINWRITERESPONSE._serialized_start=786
163
+ _TASKEXECSTDINWRITERESPONSE._serialized_end=814
164
+ _TASKEXECSTDIOREADREQUEST._serialized_start=817
165
+ _TASKEXECSTDIOREADREQUEST._serialized_end=974
166
+ _TASKEXECSTDIOREADRESPONSE._serialized_start=976
167
+ _TASKEXECSTDIOREADRESPONSE._serialized_end=1017
168
+ _TASKEXECWAITREQUEST._serialized_start=1019
169
+ _TASKEXECWAITREQUEST._serialized_end=1074
170
+ _TASKEXECWAITRESPONSE._serialized_start=1076
171
+ _TASKEXECWAITRESPONSE._serialized_end=1147
172
+ _TASKMOUNTDIRECTORYREQUEST._serialized_start=1149
173
+ _TASKMOUNTDIRECTORYREQUEST._serialized_end=1225
174
+ _TASKSNAPSHOTDIRECTORYREQUEST._serialized_start=1227
175
+ _TASKSNAPSHOTDIRECTORYREQUEST._serialized_end=1288
176
+ _TASKSNAPSHOTDIRECTORYRESPONSE._serialized_start=1290
177
+ _TASKSNAPSHOTDIRECTORYRESPONSE._serialized_end=1339
178
+ _TASKCOMMANDROUTER._serialized_start=1688
179
+ _TASKCOMMANDROUTER._serialized_end=2553
180
+ # @@protoc_insertion_point(module_scope)