modal 1.0.3.dev2__tar.gz → 1.0.3.dev5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/PKG-INFO +1 -1
  2. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/volume.py +4 -0
  3. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/client.pyi +2 -2
  4. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/functions.pyi +6 -6
  5. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/volume.py +2 -0
  6. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/volume.pyi +2 -0
  7. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal.egg-info/PKG-INFO +1 -1
  8. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/api.proto +9 -2
  9. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/api_pb2.py +591 -585
  10. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/api_pb2.pyi +25 -4
  11. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_version/__init__.py +1 -1
  12. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/LICENSE +0 -0
  13. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/README.md +0 -0
  14. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/__init__.py +0 -0
  15. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/__main__.py +0 -0
  16. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_clustered_functions.py +0 -0
  17. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_clustered_functions.pyi +0 -0
  18. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_container_entrypoint.py +0 -0
  19. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_functions.py +0 -0
  20. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_ipython.py +0 -0
  21. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_location.py +0 -0
  22. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_object.py +0 -0
  23. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_output.py +0 -0
  24. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_partial_function.py +0 -0
  25. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_pty.py +0 -0
  26. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_resolver.py +0 -0
  27. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_resources.py +0 -0
  28. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_runtime/__init__.py +0 -0
  29. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_runtime/asgi.py +0 -0
  30. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_runtime/container_io_manager.py +0 -0
  31. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_runtime/container_io_manager.pyi +0 -0
  32. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_runtime/execution_context.py +0 -0
  33. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_runtime/execution_context.pyi +0 -0
  34. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  35. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_runtime/telemetry.py +0 -0
  36. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_runtime/user_code_imports.py +0 -0
  37. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_serialization.py +0 -0
  38. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_traceback.py +0 -0
  39. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_tunnel.py +0 -0
  40. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_tunnel.pyi +0 -0
  41. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_type_manager.py +0 -0
  42. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/__init__.py +0 -0
  43. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/app_utils.py +0 -0
  44. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/async_utils.py +0 -0
  45. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/blob_utils.py +0 -0
  46. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/bytes_io_segment_payload.py +0 -0
  47. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/deprecation.py +0 -0
  48. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/docker_utils.py +0 -0
  49. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/function_utils.py +0 -0
  50. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/git_utils.py +0 -0
  51. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/grpc_testing.py +0 -0
  52. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/grpc_utils.py +0 -0
  53. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/hash_utils.py +0 -0
  54. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/http_utils.py +0 -0
  55. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/jwt_utils.py +0 -0
  56. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/logger.py +0 -0
  57. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/mount_utils.py +0 -0
  58. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/name_utils.py +0 -0
  59. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/package_utils.py +0 -0
  60. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/pattern_utils.py +0 -0
  61. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/rand_pb_testing.py +0 -0
  62. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/shell_utils.py +0 -0
  63. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_utils/time_utils.py +0 -0
  64. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_vendor/__init__.py +0 -0
  65. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  66. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_vendor/cloudpickle.py +0 -0
  67. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_vendor/tblib.py +0 -0
  68. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/_watcher.py +0 -0
  69. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/app.py +0 -0
  70. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/app.pyi +0 -0
  71. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/call_graph.py +0 -0
  72. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/__init__.py +0 -0
  73. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/_download.py +0 -0
  74. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/_traceback.py +0 -0
  75. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/app.py +0 -0
  76. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/cluster.py +0 -0
  77. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/config.py +0 -0
  78. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/container.py +0 -0
  79. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/dict.py +0 -0
  80. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/entry_point.py +0 -0
  81. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/environment.py +0 -0
  82. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/import_refs.py +0 -0
  83. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/launch.py +0 -0
  84. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/network_file_system.py +0 -0
  85. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/profile.py +0 -0
  86. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/programs/__init__.py +0 -0
  87. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/programs/run_jupyter.py +0 -0
  88. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/programs/vscode.py +0 -0
  89. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/queues.py +0 -0
  90. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/run.py +0 -0
  91. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/secret.py +0 -0
  92. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/token.py +0 -0
  93. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cli/utils.py +0 -0
  94. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/client.py +0 -0
  95. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cloud_bucket_mount.py +0 -0
  96. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cloud_bucket_mount.pyi +0 -0
  97. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cls.py +0 -0
  98. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/cls.pyi +0 -0
  99. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/config.py +0 -0
  100. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/container_process.py +0 -0
  101. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/container_process.pyi +0 -0
  102. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/dict.py +0 -0
  103. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/dict.pyi +0 -0
  104. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/environments.py +0 -0
  105. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/environments.pyi +0 -0
  106. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/exception.py +0 -0
  107. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/experimental/__init__.py +0 -0
  108. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/experimental/ipython.py +0 -0
  109. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/file_io.py +0 -0
  110. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/file_io.pyi +0 -0
  111. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/file_pattern_matcher.py +0 -0
  112. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/functions.py +0 -0
  113. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/gpu.py +0 -0
  114. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/image.py +0 -0
  115. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/image.pyi +0 -0
  116. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/io_streams.py +0 -0
  117. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/io_streams.pyi +0 -0
  118. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/mount.py +0 -0
  119. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/mount.pyi +0 -0
  120. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/network_file_system.py +0 -0
  121. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/network_file_system.pyi +0 -0
  122. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/object.py +0 -0
  123. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/object.pyi +0 -0
  124. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/output.py +0 -0
  125. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/parallel_map.py +0 -0
  126. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/parallel_map.pyi +0 -0
  127. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/partial_function.py +0 -0
  128. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/partial_function.pyi +0 -0
  129. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/proxy.py +0 -0
  130. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/proxy.pyi +0 -0
  131. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/py.typed +0 -0
  132. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/queue.py +0 -0
  133. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/queue.pyi +0 -0
  134. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/requirements/2023.12.312.txt +0 -0
  135. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/requirements/2023.12.txt +0 -0
  136. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/requirements/2024.04.txt +0 -0
  137. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/requirements/2024.10.txt +0 -0
  138. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/requirements/PREVIEW.txt +0 -0
  139. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/requirements/README.md +0 -0
  140. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/requirements/base-images.json +0 -0
  141. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/retries.py +0 -0
  142. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/runner.py +0 -0
  143. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/runner.pyi +0 -0
  144. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/running_app.py +0 -0
  145. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/sandbox.py +0 -0
  146. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/sandbox.pyi +0 -0
  147. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/schedule.py +0 -0
  148. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/scheduler_placement.py +0 -0
  149. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/secret.py +0 -0
  150. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/secret.pyi +0 -0
  151. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/serving.py +0 -0
  152. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/serving.pyi +0 -0
  153. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/snapshot.py +0 -0
  154. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/snapshot.pyi +0 -0
  155. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/stream_type.py +0 -0
  156. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/token_flow.py +0 -0
  157. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal/token_flow.pyi +0 -0
  158. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal.egg-info/SOURCES.txt +0 -0
  159. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal.egg-info/dependency_links.txt +0 -0
  160. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal.egg-info/entry_points.txt +0 -0
  161. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal.egg-info/requires.txt +0 -0
  162. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal.egg-info/top_level.txt +0 -0
  163. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_docs/__init__.py +0 -0
  164. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_docs/gen_cli_docs.py +0 -0
  165. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_docs/gen_reference_docs.py +0 -0
  166. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_docs/mdmd/__init__.py +0 -0
  167. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_docs/mdmd/mdmd.py +0 -0
  168. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_docs/mdmd/signatures.py +0 -0
  169. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/__init__.py +0 -0
  170. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/api_grpc.py +0 -0
  171. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/api_pb2_grpc.py +0 -0
  172. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/api_pb2_grpc.pyi +0 -0
  173. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/modal_api_grpc.py +0 -0
  174. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/modal_options_grpc.py +0 -0
  175. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/options.proto +0 -0
  176. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/options_grpc.py +0 -0
  177. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/options_pb2.py +0 -0
  178. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/options_pb2.pyi +0 -0
  179. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/options_pb2_grpc.py +0 -0
  180. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/options_pb2_grpc.pyi +0 -0
  181. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_proto/py.typed +0 -0
  182. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/modal_version/__main__.py +0 -0
  183. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/pyproject.toml +0 -0
  184. {modal-1.0.3.dev2 → modal-1.0.3.dev5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.3.dev2
3
+ Version: 1.0.3.dev5
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -154,6 +154,10 @@ async def ls(
154
154
  filetype = "dir"
155
155
  elif entry.type == api_pb2.FileEntry.FileType.SYMLINK:
156
156
  filetype = "link"
157
+ elif entry.type == api_pb2.FileEntry.FileType.FIFO:
158
+ filetype = "fifo"
159
+ elif entry.type == api_pb2.FileEntry.FileType.SOCKET:
160
+ filetype = "socket"
157
161
  else:
158
162
  filetype = "file"
159
163
  rows.append(
@@ -31,7 +31,7 @@ class _Client:
31
31
  server_url: str,
32
32
  client_type: int,
33
33
  credentials: typing.Optional[tuple[str, str]],
34
- version: str = "1.0.3.dev2",
34
+ version: str = "1.0.3.dev5",
35
35
  ): ...
36
36
  def is_closed(self) -> bool: ...
37
37
  @property
@@ -94,7 +94,7 @@ class Client:
94
94
  server_url: str,
95
95
  client_type: int,
96
96
  credentials: typing.Optional[tuple[str, str]],
97
- version: str = "1.0.3.dev2",
97
+ version: str = "1.0.3.dev5",
98
98
  ): ...
99
99
  def is_closed(self) -> bool: ...
100
100
  @property
@@ -227,11 +227,11 @@ class Function(
227
227
 
228
228
  _call_generator: ___call_generator_spec[typing_extensions.Self]
229
229
 
230
- class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
230
+ class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
231
231
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
232
232
  async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
233
233
 
234
- remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
234
+ remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
235
235
 
236
236
  class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
237
237
  def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
@@ -246,12 +246,12 @@ class Function(
246
246
  self, *args: modal._functions.P.args, **kwargs: modal._functions.P.kwargs
247
247
  ) -> modal._functions.OriginalReturnType: ...
248
248
 
249
- class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
249
+ class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
250
250
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
251
251
  async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
252
252
 
253
253
  _experimental_spawn: ___experimental_spawn_spec[
254
- modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
254
+ modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
255
255
  ]
256
256
 
257
257
  class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
@@ -260,11 +260,11 @@ class Function(
260
260
 
261
261
  _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
262
262
 
263
- class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
263
+ class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
264
264
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
265
265
  async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
266
266
 
267
- spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
267
+ spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
268
268
 
269
269
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]: ...
270
270
 
@@ -69,6 +69,8 @@ class FileEntryType(enum.IntEnum):
69
69
  FILE = 1
70
70
  DIRECTORY = 2
71
71
  SYMLINK = 3
72
+ FIFO = 4
73
+ SOCKET = 5
72
74
 
73
75
 
74
76
  @dataclass(frozen=True)
@@ -20,6 +20,8 @@ class FileEntryType(enum.IntEnum):
20
20
  FILE = 1
21
21
  DIRECTORY = 2
22
22
  SYMLINK = 3
23
+ FIFO = 4
24
+ SOCKET = 5
23
25
 
24
26
  class FileEntry:
25
27
  path: str
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.3.dev2
3
+ Version: 1.0.3.dev5
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -253,6 +253,11 @@ enum TaskState {
253
253
  TASK_STATE_LOADING_CHECKPOINT_IMAGE = 11;
254
254
  }
255
255
 
256
+ enum TunnelType {
257
+ TUNNEL_TYPE_UNSPECIFIED = 0;
258
+ TUNNEL_TYPE_H2 = 1; // HTTP/2 tunnel
259
+ }
260
+
256
261
  enum VolumeFsVersion {
257
262
  VOLUME_FS_VERSION_UNSPECIFIED = 0;
258
263
  VOLUME_FS_VERSION_V1 = 1;
@@ -1216,6 +1221,8 @@ message FileEntry {
1216
1221
  FILE = 1;
1217
1222
  DIRECTORY = 2;
1218
1223
  SYMLINK = 3;
1224
+ FIFO = 4;
1225
+ SOCKET = 5;
1219
1226
  }
1220
1227
  string path = 1;
1221
1228
  FileType type = 2;
@@ -2153,7 +2160,7 @@ message PTYInfo {
2153
2160
  message PortSpec {
2154
2161
  uint32 port = 1;
2155
2162
  bool unencrypted = 2;
2156
- optional string tunnel_type = 3;
2163
+ optional TunnelType tunnel_type = 3;
2157
2164
  }
2158
2165
 
2159
2166
  message PortSpecs {
@@ -2878,7 +2885,7 @@ message TunnelData {
2878
2885
  message TunnelStartRequest {
2879
2886
  uint32 port = 1;
2880
2887
  bool unencrypted = 2;
2881
- optional string tunnel_type = 3;
2888
+ optional TunnelType tunnel_type = 3;
2882
2889
  }
2883
2890
 
2884
2891
  message TunnelStartResponse {