modal 1.0.3.dev12__tar.gz → 1.0.3.dev13__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.dev12 → modal-1.0.3.dev13}/PKG-INFO +1 -1
  2. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/client.pyi +2 -2
  3. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/sandbox.py +13 -0
  4. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/sandbox.pyi +8 -0
  5. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_version/__init__.py +1 -1
  7. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/LICENSE +0 -0
  8. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/README.md +0 -0
  9. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/__init__.py +0 -0
  10. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/__main__.py +0 -0
  11. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_clustered_functions.py +0 -0
  12. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_clustered_functions.pyi +0 -0
  13. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_container_entrypoint.py +0 -0
  14. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_functions.py +0 -0
  15. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_ipython.py +0 -0
  16. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_location.py +0 -0
  17. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_object.py +0 -0
  18. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_output.py +0 -0
  19. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_partial_function.py +0 -0
  20. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_pty.py +0 -0
  21. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_resolver.py +0 -0
  22. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_resources.py +0 -0
  23. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_runtime/__init__.py +0 -0
  24. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_runtime/asgi.py +0 -0
  25. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_runtime/container_io_manager.py +0 -0
  26. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_runtime/container_io_manager.pyi +0 -0
  27. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_runtime/execution_context.py +0 -0
  28. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_runtime/execution_context.pyi +0 -0
  29. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  30. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_runtime/telemetry.py +0 -0
  31. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_runtime/user_code_imports.py +0 -0
  32. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_serialization.py +0 -0
  33. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_traceback.py +0 -0
  34. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_tunnel.py +0 -0
  35. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_tunnel.pyi +0 -0
  36. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_type_manager.py +0 -0
  37. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/__init__.py +0 -0
  38. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/app_utils.py +0 -0
  39. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/async_utils.py +0 -0
  40. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/blob_utils.py +0 -0
  41. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/bytes_io_segment_payload.py +0 -0
  42. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/deprecation.py +0 -0
  43. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/docker_utils.py +0 -0
  44. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/function_utils.py +0 -0
  45. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/git_utils.py +0 -0
  46. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/grpc_testing.py +0 -0
  47. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/grpc_utils.py +0 -0
  48. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/hash_utils.py +0 -0
  49. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/http_utils.py +0 -0
  50. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/jwt_utils.py +0 -0
  51. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/logger.py +0 -0
  52. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/mount_utils.py +0 -0
  53. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/name_utils.py +0 -0
  54. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/package_utils.py +0 -0
  55. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/pattern_utils.py +0 -0
  56. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/rand_pb_testing.py +0 -0
  57. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/shell_utils.py +0 -0
  58. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_utils/time_utils.py +0 -0
  59. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_vendor/__init__.py +0 -0
  60. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  61. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_vendor/cloudpickle.py +0 -0
  62. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_vendor/tblib.py +0 -0
  63. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/_watcher.py +0 -0
  64. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/app.py +0 -0
  65. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/app.pyi +0 -0
  66. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/call_graph.py +0 -0
  67. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/__init__.py +0 -0
  68. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/_download.py +0 -0
  69. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/_traceback.py +0 -0
  70. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/app.py +0 -0
  71. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/cluster.py +0 -0
  72. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/config.py +0 -0
  73. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/container.py +0 -0
  74. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/dict.py +0 -0
  75. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/entry_point.py +0 -0
  76. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/environment.py +0 -0
  77. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/import_refs.py +0 -0
  78. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/launch.py +0 -0
  79. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/network_file_system.py +0 -0
  80. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/profile.py +0 -0
  81. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/programs/__init__.py +0 -0
  82. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/programs/run_jupyter.py +0 -0
  83. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/programs/vscode.py +0 -0
  84. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/queues.py +0 -0
  85. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/run.py +0 -0
  86. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/secret.py +0 -0
  87. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/token.py +0 -0
  88. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/utils.py +0 -0
  89. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cli/volume.py +0 -0
  90. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/client.py +0 -0
  91. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cloud_bucket_mount.py +0 -0
  92. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cloud_bucket_mount.pyi +0 -0
  93. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cls.py +0 -0
  94. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/cls.pyi +0 -0
  95. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/config.py +0 -0
  96. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/container_process.py +0 -0
  97. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/container_process.pyi +0 -0
  98. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/dict.py +0 -0
  99. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/dict.pyi +0 -0
  100. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/environments.py +0 -0
  101. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/environments.pyi +0 -0
  102. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/exception.py +0 -0
  103. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/experimental/__init__.py +0 -0
  104. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/experimental/ipython.py +0 -0
  105. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/file_io.py +0 -0
  106. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/file_io.pyi +0 -0
  107. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/file_pattern_matcher.py +0 -0
  108. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/functions.py +0 -0
  109. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/functions.pyi +0 -0
  110. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/gpu.py +0 -0
  111. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/image.py +0 -0
  112. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/image.pyi +0 -0
  113. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/io_streams.py +0 -0
  114. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/io_streams.pyi +0 -0
  115. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/mount.py +0 -0
  116. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/mount.pyi +0 -0
  117. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/network_file_system.py +0 -0
  118. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/network_file_system.pyi +0 -0
  119. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/object.py +0 -0
  120. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/object.pyi +0 -0
  121. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/output.py +0 -0
  122. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/parallel_map.py +0 -0
  123. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/parallel_map.pyi +0 -0
  124. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/partial_function.py +0 -0
  125. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/partial_function.pyi +0 -0
  126. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/proxy.py +0 -0
  127. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/proxy.pyi +0 -0
  128. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/py.typed +0 -0
  129. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/queue.py +0 -0
  130. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/queue.pyi +0 -0
  131. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/requirements/2023.12.312.txt +0 -0
  132. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/requirements/2023.12.txt +0 -0
  133. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/requirements/2024.04.txt +0 -0
  134. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/requirements/2024.10.txt +0 -0
  135. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/requirements/PREVIEW.txt +0 -0
  136. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/requirements/README.md +0 -0
  137. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/requirements/base-images.json +0 -0
  138. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/retries.py +0 -0
  139. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/runner.py +0 -0
  140. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/runner.pyi +0 -0
  141. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/running_app.py +0 -0
  142. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/schedule.py +0 -0
  143. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/scheduler_placement.py +0 -0
  144. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/secret.py +0 -0
  145. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/secret.pyi +0 -0
  146. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/serving.py +0 -0
  147. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/serving.pyi +0 -0
  148. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/snapshot.py +0 -0
  149. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/snapshot.pyi +0 -0
  150. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/stream_type.py +0 -0
  151. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/token_flow.py +0 -0
  152. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/token_flow.pyi +0 -0
  153. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/volume.py +0 -0
  154. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal/volume.pyi +0 -0
  155. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal.egg-info/SOURCES.txt +0 -0
  156. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal.egg-info/dependency_links.txt +0 -0
  157. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal.egg-info/entry_points.txt +0 -0
  158. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal.egg-info/requires.txt +0 -0
  159. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal.egg-info/top_level.txt +0 -0
  160. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_docs/__init__.py +0 -0
  161. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_docs/gen_cli_docs.py +0 -0
  162. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_docs/gen_reference_docs.py +0 -0
  163. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_docs/mdmd/__init__.py +0 -0
  164. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_docs/mdmd/mdmd.py +0 -0
  165. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_docs/mdmd/signatures.py +0 -0
  166. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/__init__.py +0 -0
  167. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/api.proto +0 -0
  168. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/api_grpc.py +0 -0
  169. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/api_pb2.py +0 -0
  170. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/api_pb2.pyi +0 -0
  171. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/api_pb2_grpc.py +0 -0
  172. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/api_pb2_grpc.pyi +0 -0
  173. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/modal_api_grpc.py +0 -0
  174. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/modal_options_grpc.py +0 -0
  175. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/options.proto +0 -0
  176. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/options_grpc.py +0 -0
  177. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/options_pb2.py +0 -0
  178. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/options_pb2.pyi +0 -0
  179. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/options_pb2_grpc.py +0 -0
  180. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/options_pb2_grpc.pyi +0 -0
  181. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_proto/py.typed +0 -0
  182. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/modal_version/__main__.py +0 -0
  183. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/pyproject.toml +0 -0
  184. {modal-1.0.3.dev12 → modal-1.0.3.dev13}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.3.dev12
3
+ Version: 1.0.3.dev13
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -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.dev12",
34
+ version: str = "1.0.3.dev13",
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.dev12",
97
+ version: str = "1.0.3.dev13",
98
98
  ): ...
99
99
  def is_closed(self) -> bool: ...
100
100
  @property
@@ -100,6 +100,7 @@ class _Sandbox(_Object, type_prefix="sb"):
100
100
  volumes: dict[Union[str, os.PathLike], Union[_Volume, _CloudBucketMount]] = {},
101
101
  pty_info: Optional[api_pb2.PTYInfo] = None,
102
102
  encrypted_ports: Sequence[int] = [],
103
+ h2_ports: Sequence[int] = [],
103
104
  unencrypted_ports: Sequence[int] = [],
104
105
  proxy: Optional[_Proxy] = None,
105
106
  _experimental_scheduler_placement: Optional[SchedulerPlacement] = None,
@@ -155,6 +156,12 @@ class _Sandbox(_Object, type_prefix="sb"):
155
156
 
156
157
  open_ports = [api_pb2.PortSpec(port=port, unencrypted=False) for port in encrypted_ports]
157
158
  open_ports.extend([api_pb2.PortSpec(port=port, unencrypted=True) for port in unencrypted_ports])
159
+ open_ports.extend(
160
+ [
161
+ api_pb2.PortSpec(port=port, unencrypted=False, tunnel_type=api_pb2.TUNNEL_TYPE_H2)
162
+ for port in h2_ports
163
+ ]
164
+ )
158
165
 
159
166
  if block_network:
160
167
  # If the network is blocked, cidr_allowlist is invalid as we don't allow any network access.
@@ -240,6 +247,8 @@ class _Sandbox(_Object, type_prefix="sb"):
240
247
  pty_info: Optional[api_pb2.PTYInfo] = None,
241
248
  # List of ports to tunnel into the sandbox. Encrypted ports are tunneled with TLS.
242
249
  encrypted_ports: Sequence[int] = [],
250
+ # List of encrypted ports to tunnel into the sandbox, using HTTP/2.
251
+ h2_ports: Sequence[int] = [],
243
252
  # List of ports to tunnel into the sandbox without encryption.
244
253
  unencrypted_ports: Sequence[int] = [],
245
254
  # Reference to a Modal Proxy to use in front of this Sandbox.
@@ -283,6 +292,7 @@ class _Sandbox(_Object, type_prefix="sb"):
283
292
  volumes=volumes,
284
293
  pty_info=pty_info,
285
294
  encrypted_ports=encrypted_ports,
295
+ h2_ports=h2_ports,
286
296
  unencrypted_ports=unencrypted_ports,
287
297
  proxy=proxy,
288
298
  _experimental_enable_snapshot=_experimental_enable_snapshot,
@@ -320,6 +330,8 @@ class _Sandbox(_Object, type_prefix="sb"):
320
330
  pty_info: Optional[api_pb2.PTYInfo] = None,
321
331
  # List of ports to tunnel into the sandbox. Encrypted ports are tunneled with TLS.
322
332
  encrypted_ports: Sequence[int] = [],
333
+ # List of encrypted ports to tunnel into the sandbox, using HTTP/2.
334
+ h2_ports: Sequence[int] = [],
323
335
  # List of ports to tunnel into the sandbox without encryption.
324
336
  unencrypted_ports: Sequence[int] = [],
325
337
  # Reference to a Modal Proxy to use in front of this Sandbox.
@@ -359,6 +371,7 @@ class _Sandbox(_Object, type_prefix="sb"):
359
371
  volumes=volumes,
360
372
  pty_info=pty_info,
361
373
  encrypted_ports=encrypted_ports,
374
+ h2_ports=h2_ports,
362
375
  unencrypted_ports=unencrypted_ports,
363
376
  proxy=proxy,
364
377
  _experimental_scheduler_placement=_experimental_scheduler_placement,
@@ -58,6 +58,7 @@ class _Sandbox(modal._object._Object):
58
58
  ] = {},
59
59
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
60
60
  encrypted_ports: collections.abc.Sequence[int] = [],
61
+ h2_ports: collections.abc.Sequence[int] = [],
61
62
  unencrypted_ports: collections.abc.Sequence[int] = [],
62
63
  proxy: typing.Optional[modal.proxy._Proxy] = None,
63
64
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
@@ -86,6 +87,7 @@ class _Sandbox(modal._object._Object):
86
87
  ] = {},
87
88
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
88
89
  encrypted_ports: collections.abc.Sequence[int] = [],
90
+ h2_ports: collections.abc.Sequence[int] = [],
89
91
  unencrypted_ports: collections.abc.Sequence[int] = [],
90
92
  proxy: typing.Optional[modal.proxy._Proxy] = None,
91
93
  _experimental_enable_snapshot: bool = False,
@@ -116,6 +118,7 @@ class _Sandbox(modal._object._Object):
116
118
  ] = {},
117
119
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
118
120
  encrypted_ports: collections.abc.Sequence[int] = [],
121
+ h2_ports: collections.abc.Sequence[int] = [],
119
122
  unencrypted_ports: collections.abc.Sequence[int] = [],
120
123
  proxy: typing.Optional[modal.proxy._Proxy] = None,
121
124
  _experimental_enable_snapshot: bool = False,
@@ -228,6 +231,7 @@ class Sandbox(modal.object.Object):
228
231
  ] = {},
229
232
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
230
233
  encrypted_ports: collections.abc.Sequence[int] = [],
234
+ h2_ports: collections.abc.Sequence[int] = [],
231
235
  unencrypted_ports: collections.abc.Sequence[int] = [],
232
236
  proxy: typing.Optional[modal.proxy.Proxy] = None,
233
237
  _experimental_scheduler_placement: typing.Optional[modal.scheduler_placement.SchedulerPlacement] = None,
@@ -261,6 +265,7 @@ class Sandbox(modal.object.Object):
261
265
  ] = {},
262
266
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
263
267
  encrypted_ports: collections.abc.Sequence[int] = [],
268
+ h2_ports: collections.abc.Sequence[int] = [],
264
269
  unencrypted_ports: collections.abc.Sequence[int] = [],
265
270
  proxy: typing.Optional[modal.proxy.Proxy] = None,
266
271
  _experimental_enable_snapshot: bool = False,
@@ -293,6 +298,7 @@ class Sandbox(modal.object.Object):
293
298
  ] = {},
294
299
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
295
300
  encrypted_ports: collections.abc.Sequence[int] = [],
301
+ h2_ports: collections.abc.Sequence[int] = [],
296
302
  unencrypted_ports: collections.abc.Sequence[int] = [],
297
303
  proxy: typing.Optional[modal.proxy.Proxy] = None,
298
304
  _experimental_enable_snapshot: bool = False,
@@ -330,6 +336,7 @@ class Sandbox(modal.object.Object):
330
336
  ] = {},
331
337
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
332
338
  encrypted_ports: collections.abc.Sequence[int] = [],
339
+ h2_ports: collections.abc.Sequence[int] = [],
333
340
  unencrypted_ports: collections.abc.Sequence[int] = [],
334
341
  proxy: typing.Optional[modal.proxy.Proxy] = None,
335
342
  _experimental_enable_snapshot: bool = False,
@@ -363,6 +370,7 @@ class Sandbox(modal.object.Object):
363
370
  ] = {},
364
371
  pty_info: typing.Optional[modal_proto.api_pb2.PTYInfo] = None,
365
372
  encrypted_ports: collections.abc.Sequence[int] = [],
373
+ h2_ports: collections.abc.Sequence[int] = [],
366
374
  unencrypted_ports: collections.abc.Sequence[int] = [],
367
375
  proxy: typing.Optional[modal.proxy.Proxy] = None,
368
376
  _experimental_enable_snapshot: bool = False,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.3.dev12
3
+ Version: 1.0.3.dev13
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
  """Supplies the current version of the modal client library."""
3
3
 
4
- __version__ = "1.0.3.dev12"
4
+ __version__ = "1.0.3.dev13"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes