modal 1.0.3.dev21__tar.gz → 1.0.3.dev24__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.dev21 → modal-1.0.3.dev24}/PKG-INFO +1 -1
  2. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/client.pyi +2 -2
  3. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/experimental/__init__.py +6 -4
  4. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/mount.py +6 -2
  5. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/mount.pyi +9 -3
  6. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal.egg-info/PKG-INFO +1 -1
  7. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_version/__init__.py +1 -1
  8. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/LICENSE +0 -0
  9. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/README.md +0 -0
  10. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/__init__.py +0 -0
  11. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/__main__.py +0 -0
  12. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_clustered_functions.py +0 -0
  13. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_clustered_functions.pyi +0 -0
  14. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_container_entrypoint.py +0 -0
  15. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_functions.py +0 -0
  16. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_ipython.py +0 -0
  17. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_location.py +0 -0
  18. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_object.py +0 -0
  19. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_output.py +0 -0
  20. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_partial_function.py +0 -0
  21. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_pty.py +0 -0
  22. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_resolver.py +0 -0
  23. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_resources.py +0 -0
  24. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_runtime/__init__.py +0 -0
  25. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_runtime/asgi.py +0 -0
  26. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_runtime/container_io_manager.py +0 -0
  27. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_runtime/container_io_manager.pyi +0 -0
  28. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_runtime/execution_context.py +0 -0
  29. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_runtime/execution_context.pyi +0 -0
  30. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  31. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_runtime/telemetry.py +0 -0
  32. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_runtime/user_code_imports.py +0 -0
  33. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_serialization.py +0 -0
  34. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_traceback.py +0 -0
  35. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_tunnel.py +0 -0
  36. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_tunnel.pyi +0 -0
  37. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_type_manager.py +0 -0
  38. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/__init__.py +0 -0
  39. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/app_utils.py +0 -0
  40. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/async_utils.py +0 -0
  41. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/blob_utils.py +0 -0
  42. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/bytes_io_segment_payload.py +0 -0
  43. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/deprecation.py +0 -0
  44. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/docker_utils.py +0 -0
  45. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/function_utils.py +0 -0
  46. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/git_utils.py +0 -0
  47. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/grpc_testing.py +0 -0
  48. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/grpc_utils.py +0 -0
  49. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/hash_utils.py +0 -0
  50. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/http_utils.py +0 -0
  51. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/jwt_utils.py +0 -0
  52. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/logger.py +0 -0
  53. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/mount_utils.py +0 -0
  54. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/name_utils.py +0 -0
  55. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/package_utils.py +0 -0
  56. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/pattern_utils.py +0 -0
  57. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/rand_pb_testing.py +0 -0
  58. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/shell_utils.py +0 -0
  59. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_utils/time_utils.py +0 -0
  60. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_vendor/__init__.py +0 -0
  61. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  62. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_vendor/cloudpickle.py +0 -0
  63. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_vendor/tblib.py +0 -0
  64. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/_watcher.py +0 -0
  65. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/app.py +0 -0
  66. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/app.pyi +0 -0
  67. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/call_graph.py +0 -0
  68. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/__init__.py +0 -0
  69. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/_download.py +0 -0
  70. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/_traceback.py +0 -0
  71. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/app.py +0 -0
  72. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/cluster.py +0 -0
  73. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/config.py +0 -0
  74. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/container.py +0 -0
  75. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/dict.py +0 -0
  76. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/entry_point.py +0 -0
  77. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/environment.py +0 -0
  78. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/import_refs.py +0 -0
  79. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/launch.py +0 -0
  80. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/network_file_system.py +0 -0
  81. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/profile.py +0 -0
  82. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/programs/__init__.py +0 -0
  83. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/programs/run_jupyter.py +0 -0
  84. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/programs/vscode.py +0 -0
  85. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/queues.py +0 -0
  86. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/run.py +0 -0
  87. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/secret.py +0 -0
  88. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/token.py +0 -0
  89. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/utils.py +0 -0
  90. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cli/volume.py +0 -0
  91. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/client.py +0 -0
  92. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cloud_bucket_mount.py +0 -0
  93. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cloud_bucket_mount.pyi +0 -0
  94. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cls.py +0 -0
  95. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/cls.pyi +0 -0
  96. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/config.py +0 -0
  97. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/container_process.py +0 -0
  98. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/container_process.pyi +0 -0
  99. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/dict.py +0 -0
  100. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/dict.pyi +0 -0
  101. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/environments.py +0 -0
  102. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/environments.pyi +0 -0
  103. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/exception.py +0 -0
  104. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/experimental/ipython.py +0 -0
  105. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/file_io.py +0 -0
  106. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/file_io.pyi +0 -0
  107. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/file_pattern_matcher.py +0 -0
  108. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/functions.py +0 -0
  109. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/functions.pyi +0 -0
  110. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/gpu.py +0 -0
  111. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/image.py +0 -0
  112. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/image.pyi +0 -0
  113. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/io_streams.py +0 -0
  114. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/io_streams.pyi +0 -0
  115. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/network_file_system.py +0 -0
  116. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/network_file_system.pyi +0 -0
  117. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/object.py +0 -0
  118. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/object.pyi +0 -0
  119. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/output.py +0 -0
  120. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/parallel_map.py +0 -0
  121. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/parallel_map.pyi +0 -0
  122. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/partial_function.py +0 -0
  123. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/partial_function.pyi +0 -0
  124. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/proxy.py +0 -0
  125. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/proxy.pyi +0 -0
  126. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/py.typed +0 -0
  127. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/queue.py +0 -0
  128. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/queue.pyi +0 -0
  129. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/requirements/2023.12.312.txt +0 -0
  130. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/requirements/2023.12.txt +0 -0
  131. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/requirements/2024.04.txt +0 -0
  132. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/requirements/2024.10.txt +0 -0
  133. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/requirements/PREVIEW.txt +0 -0
  134. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/requirements/README.md +0 -0
  135. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/requirements/base-images.json +0 -0
  136. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/retries.py +0 -0
  137. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/runner.py +0 -0
  138. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/runner.pyi +0 -0
  139. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/running_app.py +0 -0
  140. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/sandbox.py +0 -0
  141. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/sandbox.pyi +0 -0
  142. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/schedule.py +0 -0
  143. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/scheduler_placement.py +0 -0
  144. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/secret.py +0 -0
  145. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/secret.pyi +0 -0
  146. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/serving.py +0 -0
  147. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/serving.pyi +0 -0
  148. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/snapshot.py +0 -0
  149. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/snapshot.pyi +0 -0
  150. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/stream_type.py +0 -0
  151. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/token_flow.py +0 -0
  152. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/token_flow.pyi +0 -0
  153. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/volume.py +0 -0
  154. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal/volume.pyi +0 -0
  155. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal.egg-info/SOURCES.txt +0 -0
  156. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal.egg-info/dependency_links.txt +0 -0
  157. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal.egg-info/entry_points.txt +0 -0
  158. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal.egg-info/requires.txt +0 -0
  159. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal.egg-info/top_level.txt +0 -0
  160. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_docs/__init__.py +0 -0
  161. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_docs/gen_cli_docs.py +0 -0
  162. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_docs/gen_reference_docs.py +0 -0
  163. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_docs/mdmd/__init__.py +0 -0
  164. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_docs/mdmd/mdmd.py +0 -0
  165. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_docs/mdmd/signatures.py +0 -0
  166. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/__init__.py +0 -0
  167. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/api.proto +0 -0
  168. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/api_grpc.py +0 -0
  169. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/api_pb2.py +0 -0
  170. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/api_pb2.pyi +0 -0
  171. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/api_pb2_grpc.py +0 -0
  172. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/api_pb2_grpc.pyi +0 -0
  173. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/modal_api_grpc.py +0 -0
  174. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/modal_options_grpc.py +0 -0
  175. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/options.proto +0 -0
  176. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/options_grpc.py +0 -0
  177. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/options_pb2.py +0 -0
  178. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/options_pb2.pyi +0 -0
  179. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/options_pb2_grpc.py +0 -0
  180. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/options_pb2_grpc.pyi +0 -0
  181. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_proto/py.typed +0 -0
  182. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/modal_version/__main__.py +0 -0
  183. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/pyproject.toml +0 -0
  184. {modal-1.0.3.dev21 → modal-1.0.3.dev24}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.3.dev21
3
+ Version: 1.0.3.dev24
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.dev21",
34
+ version: str = "1.0.3.dev24",
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.dev21",
97
+ version: str = "1.0.3.dev24",
98
98
  ): ...
99
99
  def is_closed(self) -> bool: ...
100
100
  @property
@@ -94,8 +94,9 @@ async def raw_dockerfile_image(
94
94
 
95
95
  Unlike for `modal.Image.from_dockerfile`, the provided recipe will not be embellished with
96
96
  steps to install dependencies for the Modal client package. As a consequence, the resulting
97
- Image cannot be used with a modal Function unless those dependencies are added in a subsequent
98
- layer. It _can_ be directly used with a modal Sandbox, which does not need the Modal client.
97
+ Image cannot be used with a modal Function unless those dependencies are already included
98
+ as part of the base Dockerfile recipe or are added in a subsequent layer. The Image _can_ be
99
+ directly used with a modal Sandbox, which does not need the Modal client.
99
100
 
100
101
  We expect to support this experimental function until the `2025.04` Modal Image Builder is
101
102
  stable, at which point Modal Image recipes will no longer install the client dependencies
@@ -127,8 +128,9 @@ async def raw_registry_image(
127
128
 
128
129
  Unlike for `modal.Image.from_registry`, the provided recipe will not be embellished with
129
130
  steps to install dependencies for the Modal client package. As a consequence, the resulting
130
- Image cannot be used with a modal Function unless those dependencies are added in a subsequent
131
- layer. It _can_ be directly used with a modal Sandbox, which does not need the Modal client.
131
+ Image cannot be used with a modal Function unless those dependencies are already included
132
+ as part of the registry Image or are added in a subsequent layer. The Image _can_ be
133
+ directly used with a modal Sandbox, which does not need the Modal client.
132
134
 
133
135
  We expect to support this experimental function until the `2025.04` Modal Image Builder is
134
136
  stable, at which point Modal Image recipes will no longer install the client dependencies
@@ -900,9 +900,13 @@ async def _create_single_mount(
900
900
  print(f"✅ Deployed mount {mount_name} to global namespace.")
901
901
 
902
902
 
903
- async def _create_client_dependency_mounts(client=None, check_if_exists=True):
903
+ async def _create_client_dependency_mounts(
904
+ client=None,
905
+ check_if_exists=True,
906
+ python_versions: list[str] = list(PYTHON_STANDALONE_VERSIONS),
907
+ ):
904
908
  coros = []
905
- for python_version in PYTHON_STANDALONE_VERSIONS:
909
+ for python_version in python_versions:
906
910
  # glibc >= 2.17
907
911
  coros.append(
908
912
  _create_single_mount(
@@ -317,11 +317,17 @@ async def _create_single_mount(
317
317
  uv_python_platform: str = None,
318
318
  check_if_exists: bool = True,
319
319
  ): ...
320
- async def _create_client_dependency_mounts(client=None, check_if_exists=True): ...
320
+ async def _create_client_dependency_mounts(
321
+ client=None, check_if_exists=True, python_versions: list[str] = ["3.9", "3.10", "3.11", "3.12", "3.13"]
322
+ ): ...
321
323
 
322
324
  class __create_client_dependency_mounts_spec(typing_extensions.Protocol):
323
- def __call__(self, /, client=None, check_if_exists=True): ...
324
- async def aio(self, /, client=None, check_if_exists=True): ...
325
+ def __call__(
326
+ self, /, client=None, check_if_exists=True, python_versions: list[str] = ["3.9", "3.10", "3.11", "3.12", "3.13"]
327
+ ): ...
328
+ async def aio(
329
+ self, /, client=None, check_if_exists=True, python_versions: list[str] = ["3.9", "3.10", "3.11", "3.12", "3.13"]
330
+ ): ...
325
331
 
326
332
  create_client_dependency_mounts: __create_client_dependency_mounts_spec
327
333
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.3.dev21
3
+ Version: 1.0.3.dev24
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.dev21"
4
+ __version__ = "1.0.3.dev24"
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