modal 0.73.74__tar.gz → 0.73.75__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 (182) hide show
  1. {modal-0.73.74 → modal-0.73.75}/PKG-INFO +1 -1
  2. {modal-0.73.74 → modal-0.73.75}/modal/client.pyi +2 -2
  3. {modal-0.73.74 → modal-0.73.75}/modal/config.py +8 -0
  4. {modal-0.73.74 → modal-0.73.75}/modal/image.py +1 -0
  5. {modal-0.73.74 → modal-0.73.75}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-0.73.74 → modal-0.73.75}/modal_version/_version_generated.py +1 -1
  7. {modal-0.73.74 → modal-0.73.75}/LICENSE +0 -0
  8. {modal-0.73.74 → modal-0.73.75}/README.md +0 -0
  9. {modal-0.73.74 → modal-0.73.75}/modal/__init__.py +0 -0
  10. {modal-0.73.74 → modal-0.73.75}/modal/__main__.py +0 -0
  11. {modal-0.73.74 → modal-0.73.75}/modal/_clustered_functions.py +0 -0
  12. {modal-0.73.74 → modal-0.73.75}/modal/_clustered_functions.pyi +0 -0
  13. {modal-0.73.74 → modal-0.73.75}/modal/_container_entrypoint.py +0 -0
  14. {modal-0.73.74 → modal-0.73.75}/modal/_functions.py +0 -0
  15. {modal-0.73.74 → modal-0.73.75}/modal/_ipython.py +0 -0
  16. {modal-0.73.74 → modal-0.73.75}/modal/_location.py +0 -0
  17. {modal-0.73.74 → modal-0.73.75}/modal/_object.py +0 -0
  18. {modal-0.73.74 → modal-0.73.75}/modal/_output.py +0 -0
  19. {modal-0.73.74 → modal-0.73.75}/modal/_partial_function.py +0 -0
  20. {modal-0.73.74 → modal-0.73.75}/modal/_proxy_tunnel.py +0 -0
  21. {modal-0.73.74 → modal-0.73.75}/modal/_pty.py +0 -0
  22. {modal-0.73.74 → modal-0.73.75}/modal/_resolver.py +0 -0
  23. {modal-0.73.74 → modal-0.73.75}/modal/_resources.py +0 -0
  24. {modal-0.73.74 → modal-0.73.75}/modal/_runtime/__init__.py +0 -0
  25. {modal-0.73.74 → modal-0.73.75}/modal/_runtime/asgi.py +0 -0
  26. {modal-0.73.74 → modal-0.73.75}/modal/_runtime/container_io_manager.py +0 -0
  27. {modal-0.73.74 → modal-0.73.75}/modal/_runtime/container_io_manager.pyi +0 -0
  28. {modal-0.73.74 → modal-0.73.75}/modal/_runtime/execution_context.py +0 -0
  29. {modal-0.73.74 → modal-0.73.75}/modal/_runtime/execution_context.pyi +0 -0
  30. {modal-0.73.74 → modal-0.73.75}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  31. {modal-0.73.74 → modal-0.73.75}/modal/_runtime/telemetry.py +0 -0
  32. {modal-0.73.74 → modal-0.73.75}/modal/_runtime/user_code_imports.py +0 -0
  33. {modal-0.73.74 → modal-0.73.75}/modal/_serialization.py +0 -0
  34. {modal-0.73.74 → modal-0.73.75}/modal/_traceback.py +0 -0
  35. {modal-0.73.74 → modal-0.73.75}/modal/_tunnel.py +0 -0
  36. {modal-0.73.74 → modal-0.73.75}/modal/_tunnel.pyi +0 -0
  37. {modal-0.73.74 → modal-0.73.75}/modal/_utils/__init__.py +0 -0
  38. {modal-0.73.74 → modal-0.73.75}/modal/_utils/app_utils.py +0 -0
  39. {modal-0.73.74 → modal-0.73.75}/modal/_utils/async_utils.py +0 -0
  40. {modal-0.73.74 → modal-0.73.75}/modal/_utils/blob_utils.py +0 -0
  41. {modal-0.73.74 → modal-0.73.75}/modal/_utils/bytes_io_segment_payload.py +0 -0
  42. {modal-0.73.74 → modal-0.73.75}/modal/_utils/deprecation.py +0 -0
  43. {modal-0.73.74 → modal-0.73.75}/modal/_utils/docker_utils.py +0 -0
  44. {modal-0.73.74 → modal-0.73.75}/modal/_utils/function_utils.py +0 -0
  45. {modal-0.73.74 → modal-0.73.75}/modal/_utils/grpc_testing.py +0 -0
  46. {modal-0.73.74 → modal-0.73.75}/modal/_utils/grpc_utils.py +0 -0
  47. {modal-0.73.74 → modal-0.73.75}/modal/_utils/hash_utils.py +0 -0
  48. {modal-0.73.74 → modal-0.73.75}/modal/_utils/http_utils.py +0 -0
  49. {modal-0.73.74 → modal-0.73.75}/modal/_utils/logger.py +0 -0
  50. {modal-0.73.74 → modal-0.73.75}/modal/_utils/mount_utils.py +0 -0
  51. {modal-0.73.74 → modal-0.73.75}/modal/_utils/name_utils.py +0 -0
  52. {modal-0.73.74 → modal-0.73.75}/modal/_utils/package_utils.py +0 -0
  53. {modal-0.73.74 → modal-0.73.75}/modal/_utils/pattern_utils.py +0 -0
  54. {modal-0.73.74 → modal-0.73.75}/modal/_utils/rand_pb_testing.py +0 -0
  55. {modal-0.73.74 → modal-0.73.75}/modal/_utils/shell_utils.py +0 -0
  56. {modal-0.73.74 → modal-0.73.75}/modal/_vendor/__init__.py +0 -0
  57. {modal-0.73.74 → modal-0.73.75}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  58. {modal-0.73.74 → modal-0.73.75}/modal/_vendor/cloudpickle.py +0 -0
  59. {modal-0.73.74 → modal-0.73.75}/modal/_vendor/tblib.py +0 -0
  60. {modal-0.73.74 → modal-0.73.75}/modal/_watcher.py +0 -0
  61. {modal-0.73.74 → modal-0.73.75}/modal/app.py +0 -0
  62. {modal-0.73.74 → modal-0.73.75}/modal/app.pyi +0 -0
  63. {modal-0.73.74 → modal-0.73.75}/modal/call_graph.py +0 -0
  64. {modal-0.73.74 → modal-0.73.75}/modal/cli/__init__.py +0 -0
  65. {modal-0.73.74 → modal-0.73.75}/modal/cli/_download.py +0 -0
  66. {modal-0.73.74 → modal-0.73.75}/modal/cli/_traceback.py +0 -0
  67. {modal-0.73.74 → modal-0.73.75}/modal/cli/app.py +0 -0
  68. {modal-0.73.74 → modal-0.73.75}/modal/cli/config.py +0 -0
  69. {modal-0.73.74 → modal-0.73.75}/modal/cli/container.py +0 -0
  70. {modal-0.73.74 → modal-0.73.75}/modal/cli/dict.py +0 -0
  71. {modal-0.73.74 → modal-0.73.75}/modal/cli/entry_point.py +0 -0
  72. {modal-0.73.74 → modal-0.73.75}/modal/cli/environment.py +0 -0
  73. {modal-0.73.74 → modal-0.73.75}/modal/cli/import_refs.py +0 -0
  74. {modal-0.73.74 → modal-0.73.75}/modal/cli/launch.py +0 -0
  75. {modal-0.73.74 → modal-0.73.75}/modal/cli/network_file_system.py +0 -0
  76. {modal-0.73.74 → modal-0.73.75}/modal/cli/profile.py +0 -0
  77. {modal-0.73.74 → modal-0.73.75}/modal/cli/programs/__init__.py +0 -0
  78. {modal-0.73.74 → modal-0.73.75}/modal/cli/programs/run_jupyter.py +0 -0
  79. {modal-0.73.74 → modal-0.73.75}/modal/cli/programs/vscode.py +0 -0
  80. {modal-0.73.74 → modal-0.73.75}/modal/cli/queues.py +0 -0
  81. {modal-0.73.74 → modal-0.73.75}/modal/cli/run.py +0 -0
  82. {modal-0.73.74 → modal-0.73.75}/modal/cli/secret.py +0 -0
  83. {modal-0.73.74 → modal-0.73.75}/modal/cli/token.py +0 -0
  84. {modal-0.73.74 → modal-0.73.75}/modal/cli/utils.py +0 -0
  85. {modal-0.73.74 → modal-0.73.75}/modal/cli/volume.py +0 -0
  86. {modal-0.73.74 → modal-0.73.75}/modal/client.py +0 -0
  87. {modal-0.73.74 → modal-0.73.75}/modal/cloud_bucket_mount.py +0 -0
  88. {modal-0.73.74 → modal-0.73.75}/modal/cloud_bucket_mount.pyi +0 -0
  89. {modal-0.73.74 → modal-0.73.75}/modal/cls.py +0 -0
  90. {modal-0.73.74 → modal-0.73.75}/modal/cls.pyi +0 -0
  91. {modal-0.73.74 → modal-0.73.75}/modal/container_process.py +0 -0
  92. {modal-0.73.74 → modal-0.73.75}/modal/container_process.pyi +0 -0
  93. {modal-0.73.74 → modal-0.73.75}/modal/dict.py +0 -0
  94. {modal-0.73.74 → modal-0.73.75}/modal/dict.pyi +0 -0
  95. {modal-0.73.74 → modal-0.73.75}/modal/environments.py +0 -0
  96. {modal-0.73.74 → modal-0.73.75}/modal/environments.pyi +0 -0
  97. {modal-0.73.74 → modal-0.73.75}/modal/exception.py +0 -0
  98. {modal-0.73.74 → modal-0.73.75}/modal/experimental.py +0 -0
  99. {modal-0.73.74 → modal-0.73.75}/modal/experimental.pyi +0 -0
  100. {modal-0.73.74 → modal-0.73.75}/modal/extensions/__init__.py +0 -0
  101. {modal-0.73.74 → modal-0.73.75}/modal/extensions/ipython.py +0 -0
  102. {modal-0.73.74 → modal-0.73.75}/modal/file_io.py +0 -0
  103. {modal-0.73.74 → modal-0.73.75}/modal/file_io.pyi +0 -0
  104. {modal-0.73.74 → modal-0.73.75}/modal/file_pattern_matcher.py +0 -0
  105. {modal-0.73.74 → modal-0.73.75}/modal/functions.py +0 -0
  106. {modal-0.73.74 → modal-0.73.75}/modal/functions.pyi +0 -0
  107. {modal-0.73.74 → modal-0.73.75}/modal/gpu.py +0 -0
  108. {modal-0.73.74 → modal-0.73.75}/modal/image.pyi +0 -0
  109. {modal-0.73.74 → modal-0.73.75}/modal/io_streams.py +0 -0
  110. {modal-0.73.74 → modal-0.73.75}/modal/io_streams.pyi +0 -0
  111. {modal-0.73.74 → modal-0.73.75}/modal/mount.py +0 -0
  112. {modal-0.73.74 → modal-0.73.75}/modal/mount.pyi +0 -0
  113. {modal-0.73.74 → modal-0.73.75}/modal/network_file_system.py +0 -0
  114. {modal-0.73.74 → modal-0.73.75}/modal/network_file_system.pyi +0 -0
  115. {modal-0.73.74 → modal-0.73.75}/modal/object.py +0 -0
  116. {modal-0.73.74 → modal-0.73.75}/modal/object.pyi +0 -0
  117. {modal-0.73.74 → modal-0.73.75}/modal/output.py +0 -0
  118. {modal-0.73.74 → modal-0.73.75}/modal/parallel_map.py +0 -0
  119. {modal-0.73.74 → modal-0.73.75}/modal/parallel_map.pyi +0 -0
  120. {modal-0.73.74 → modal-0.73.75}/modal/partial_function.py +0 -0
  121. {modal-0.73.74 → modal-0.73.75}/modal/partial_function.pyi +0 -0
  122. {modal-0.73.74 → modal-0.73.75}/modal/proxy.py +0 -0
  123. {modal-0.73.74 → modal-0.73.75}/modal/proxy.pyi +0 -0
  124. {modal-0.73.74 → modal-0.73.75}/modal/py.typed +0 -0
  125. {modal-0.73.74 → modal-0.73.75}/modal/queue.py +0 -0
  126. {modal-0.73.74 → modal-0.73.75}/modal/queue.pyi +0 -0
  127. {modal-0.73.74 → modal-0.73.75}/modal/requirements/2023.12.312.txt +0 -0
  128. {modal-0.73.74 → modal-0.73.75}/modal/requirements/2023.12.txt +0 -0
  129. {modal-0.73.74 → modal-0.73.75}/modal/requirements/2024.04.txt +0 -0
  130. {modal-0.73.74 → modal-0.73.75}/modal/requirements/2024.10.txt +0 -0
  131. {modal-0.73.74 → modal-0.73.75}/modal/requirements/README.md +0 -0
  132. {modal-0.73.74 → modal-0.73.75}/modal/requirements/base-images.json +0 -0
  133. {modal-0.73.74 → modal-0.73.75}/modal/retries.py +0 -0
  134. {modal-0.73.74 → modal-0.73.75}/modal/runner.py +0 -0
  135. {modal-0.73.74 → modal-0.73.75}/modal/runner.pyi +0 -0
  136. {modal-0.73.74 → modal-0.73.75}/modal/running_app.py +0 -0
  137. {modal-0.73.74 → modal-0.73.75}/modal/sandbox.py +0 -0
  138. {modal-0.73.74 → modal-0.73.75}/modal/sandbox.pyi +0 -0
  139. {modal-0.73.74 → modal-0.73.75}/modal/schedule.py +0 -0
  140. {modal-0.73.74 → modal-0.73.75}/modal/scheduler_placement.py +0 -0
  141. {modal-0.73.74 → modal-0.73.75}/modal/secret.py +0 -0
  142. {modal-0.73.74 → modal-0.73.75}/modal/secret.pyi +0 -0
  143. {modal-0.73.74 → modal-0.73.75}/modal/serving.py +0 -0
  144. {modal-0.73.74 → modal-0.73.75}/modal/serving.pyi +0 -0
  145. {modal-0.73.74 → modal-0.73.75}/modal/snapshot.py +0 -0
  146. {modal-0.73.74 → modal-0.73.75}/modal/snapshot.pyi +0 -0
  147. {modal-0.73.74 → modal-0.73.75}/modal/stream_type.py +0 -0
  148. {modal-0.73.74 → modal-0.73.75}/modal/token_flow.py +0 -0
  149. {modal-0.73.74 → modal-0.73.75}/modal/token_flow.pyi +0 -0
  150. {modal-0.73.74 → modal-0.73.75}/modal/volume.py +0 -0
  151. {modal-0.73.74 → modal-0.73.75}/modal/volume.pyi +0 -0
  152. {modal-0.73.74 → modal-0.73.75}/modal.egg-info/SOURCES.txt +0 -0
  153. {modal-0.73.74 → modal-0.73.75}/modal.egg-info/dependency_links.txt +0 -0
  154. {modal-0.73.74 → modal-0.73.75}/modal.egg-info/entry_points.txt +0 -0
  155. {modal-0.73.74 → modal-0.73.75}/modal.egg-info/requires.txt +0 -0
  156. {modal-0.73.74 → modal-0.73.75}/modal.egg-info/top_level.txt +0 -0
  157. {modal-0.73.74 → modal-0.73.75}/modal_docs/__init__.py +0 -0
  158. {modal-0.73.74 → modal-0.73.75}/modal_docs/gen_cli_docs.py +0 -0
  159. {modal-0.73.74 → modal-0.73.75}/modal_docs/gen_reference_docs.py +0 -0
  160. {modal-0.73.74 → modal-0.73.75}/modal_docs/mdmd/__init__.py +0 -0
  161. {modal-0.73.74 → modal-0.73.75}/modal_docs/mdmd/mdmd.py +0 -0
  162. {modal-0.73.74 → modal-0.73.75}/modal_docs/mdmd/signatures.py +0 -0
  163. {modal-0.73.74 → modal-0.73.75}/modal_proto/__init__.py +0 -0
  164. {modal-0.73.74 → modal-0.73.75}/modal_proto/api.proto +0 -0
  165. {modal-0.73.74 → modal-0.73.75}/modal_proto/api_grpc.py +0 -0
  166. {modal-0.73.74 → modal-0.73.75}/modal_proto/api_pb2.py +0 -0
  167. {modal-0.73.74 → modal-0.73.75}/modal_proto/api_pb2.pyi +0 -0
  168. {modal-0.73.74 → modal-0.73.75}/modal_proto/api_pb2_grpc.py +0 -0
  169. {modal-0.73.74 → modal-0.73.75}/modal_proto/api_pb2_grpc.pyi +0 -0
  170. {modal-0.73.74 → modal-0.73.75}/modal_proto/modal_api_grpc.py +0 -0
  171. {modal-0.73.74 → modal-0.73.75}/modal_proto/modal_options_grpc.py +0 -0
  172. {modal-0.73.74 → modal-0.73.75}/modal_proto/options.proto +0 -0
  173. {modal-0.73.74 → modal-0.73.75}/modal_proto/options_grpc.py +0 -0
  174. {modal-0.73.74 → modal-0.73.75}/modal_proto/options_pb2.py +0 -0
  175. {modal-0.73.74 → modal-0.73.75}/modal_proto/options_pb2.pyi +0 -0
  176. {modal-0.73.74 → modal-0.73.75}/modal_proto/options_pb2_grpc.py +0 -0
  177. {modal-0.73.74 → modal-0.73.75}/modal_proto/options_pb2_grpc.pyi +0 -0
  178. {modal-0.73.74 → modal-0.73.75}/modal_proto/py.typed +0 -0
  179. {modal-0.73.74 → modal-0.73.75}/modal_version/__init__.py +0 -0
  180. {modal-0.73.74 → modal-0.73.75}/modal_version/__main__.py +0 -0
  181. {modal-0.73.74 → modal-0.73.75}/pyproject.toml +0 -0
  182. {modal-0.73.74 → modal-0.73.75}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: modal
3
- Version: 0.73.74
3
+ Version: 0.73.75
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -27,7 +27,7 @@ class _Client:
27
27
  _snapshotted: bool
28
28
 
29
29
  def __init__(
30
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.74"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.75"
31
31
  ): ...
32
32
  def is_closed(self) -> bool: ...
33
33
  @property
@@ -85,7 +85,7 @@ class Client:
85
85
  _snapshotted: bool
86
86
 
87
87
  def __init__(
88
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.74"
88
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.75"
89
89
  ): ...
90
90
  def is_closed(self) -> bool: ...
91
91
  @property
@@ -60,6 +60,13 @@ Other possible configuration options are:
60
60
  When set, ignores the Image cache and builds all Image layers. Note that this
61
61
  will break the cache for all images based on the rebuilt layers, so other images
62
62
  may rebuild on subsequent runs / deploys even if the config is reverted.
63
+ * `ignore_cache` (in the .toml file) / `MODAL_IGNORE_CACHE` (as an env var).
64
+ Defaults to False.
65
+ When set, ignores the Image cache and builds all Image layers. Unlike `force_build`,
66
+ this will not overwrite the cache for other images that have the same recipe.
67
+ Subsequent runs that do not use this option will pull the *previous* Image from
68
+ the cache, if one exists. It can be useful for testing an App's robustness to
69
+ Image rebuilds without clobbering Images used by other Apps.
63
70
  * `traceback` (in the .toml file) / `MODAL_TRACEBACK` (as an env var).
64
71
  Defaults to False. Enables printing full tracebacks on unexpected CLI
65
72
  errors, which can be useful for debugging client issues.
@@ -218,6 +225,7 @@ _SETTINGS = {
218
225
  "worker_id": _Setting(), # For internal debugging use.
219
226
  "restore_state_path": _Setting("/__modal/restore-state.json"),
220
227
  "force_build": _Setting(False, transform=_to_boolean),
228
+ "ignore_cache": _Setting(False, transform=_to_boolean),
221
229
  "traceback": _Setting(False, transform=_to_boolean),
222
230
  "image_builder_version": _Setting(),
223
231
  "strict_parameters": _Setting(False, transform=_to_boolean), # For internal/experimental use
@@ -622,6 +622,7 @@ class _Image(_Object, type_prefix="im"):
622
622
  # Failsafe mechanism to prevent inadvertant updates to the global images.
623
623
  # Only admins can publish to the global namespace, but they have to additionally request it.
624
624
  allow_global_deployment=os.environ.get("MODAL_IMAGE_ALLOW_GLOBAL_DEPLOYMENT", "0") == "1",
625
+ ignore_cache=config.get("ignore_cache"),
625
626
  )
626
627
  resp = await retry_transient_errors(resolver.client.stub.ImageGetOrCreate, req)
627
628
  image_id = resp.image_id
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: modal
3
- Version: 0.73.74
3
+ Version: 0.73.75
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
 
3
3
  # Note: Reset this value to -1 whenever you make a minor `0.X` release of the client.
4
- build_number = 74 # git: bdcac62
4
+ build_number = 75 # git: 6151dc6
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
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
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
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