modal 1.1.5.dev43__tar.gz → 1.1.5.dev44__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.

Potentially problematic release.


This version of modal might be problematic. Click here for more details.

Files changed (196) hide show
  1. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/PKG-INFO +1 -1
  2. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/client.pyi +2 -2
  3. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/dict.py +15 -2
  4. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/dict.pyi +22 -6
  5. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/functions.pyi +6 -6
  6. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal.egg-info/PKG-INFO +1 -1
  7. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_version/__init__.py +1 -1
  8. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/LICENSE +0 -0
  9. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/README.md +0 -0
  10. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/__init__.py +0 -0
  11. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/__main__.py +0 -0
  12. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_clustered_functions.py +0 -0
  13. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_clustered_functions.pyi +0 -0
  14. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_container_entrypoint.py +0 -0
  15. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_functions.py +0 -0
  16. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_ipython.py +0 -0
  17. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_location.py +0 -0
  18. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_object.py +0 -0
  19. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_output.py +0 -0
  20. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_partial_function.py +0 -0
  21. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_pty.py +0 -0
  22. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_resolver.py +0 -0
  23. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_resources.py +0 -0
  24. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_runtime/__init__.py +0 -0
  25. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_runtime/asgi.py +0 -0
  26. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_runtime/container_io_manager.py +0 -0
  27. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_runtime/container_io_manager.pyi +0 -0
  28. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_runtime/execution_context.py +0 -0
  29. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_runtime/execution_context.pyi +0 -0
  30. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  31. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_runtime/telemetry.py +0 -0
  32. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_runtime/user_code_imports.py +0 -0
  33. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_serialization.py +0 -0
  34. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_traceback.py +0 -0
  35. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_tunnel.py +0 -0
  36. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_tunnel.pyi +0 -0
  37. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_type_manager.py +0 -0
  38. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/__init__.py +0 -0
  39. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/app_utils.py +0 -0
  40. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/async_utils.py +0 -0
  41. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/auth_token_manager.py +0 -0
  42. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/blob_utils.py +0 -0
  43. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/bytes_io_segment_payload.py +0 -0
  44. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/deprecation.py +0 -0
  45. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/docker_utils.py +0 -0
  46. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/function_utils.py +0 -0
  47. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/git_utils.py +0 -0
  48. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/grpc_testing.py +0 -0
  49. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/grpc_utils.py +0 -0
  50. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/hash_utils.py +0 -0
  51. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/http_utils.py +0 -0
  52. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/jwt_utils.py +0 -0
  53. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/logger.py +0 -0
  54. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/mount_utils.py +0 -0
  55. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/name_utils.py +0 -0
  56. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/package_utils.py +0 -0
  57. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/pattern_utils.py +0 -0
  58. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/rand_pb_testing.py +0 -0
  59. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/shell_utils.py +0 -0
  60. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_utils/time_utils.py +0 -0
  61. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_vendor/__init__.py +0 -0
  62. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  63. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_vendor/cloudpickle.py +0 -0
  64. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_vendor/tblib.py +0 -0
  65. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/_watcher.py +0 -0
  66. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/app.py +0 -0
  67. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/app.pyi +0 -0
  68. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/builder/2023.12.312.txt +0 -0
  69. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/builder/2023.12.txt +0 -0
  70. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/builder/2024.04.txt +0 -0
  71. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/builder/2024.10.txt +0 -0
  72. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/builder/2025.06.txt +0 -0
  73. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/builder/PREVIEW.txt +0 -0
  74. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/builder/README.md +0 -0
  75. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/builder/base-images.json +0 -0
  76. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/call_graph.py +0 -0
  77. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/__init__.py +0 -0
  78. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/_download.py +0 -0
  79. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/_traceback.py +0 -0
  80. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/app.py +0 -0
  81. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/cluster.py +0 -0
  82. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/config.py +0 -0
  83. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/container.py +0 -0
  84. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/dict.py +0 -0
  85. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/entry_point.py +0 -0
  86. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/environment.py +0 -0
  87. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/import_refs.py +0 -0
  88. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/launch.py +0 -0
  89. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/network_file_system.py +0 -0
  90. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/profile.py +0 -0
  91. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/programs/__init__.py +0 -0
  92. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/programs/launch_instance_ssh.py +0 -0
  93. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/programs/run_jupyter.py +0 -0
  94. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/programs/run_marimo.py +0 -0
  95. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/programs/vscode.py +0 -0
  96. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/queues.py +0 -0
  97. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/run.py +0 -0
  98. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/secret.py +0 -0
  99. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/token.py +0 -0
  100. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/utils.py +0 -0
  101. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cli/volume.py +0 -0
  102. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/client.py +0 -0
  103. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cloud_bucket_mount.py +0 -0
  104. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cloud_bucket_mount.pyi +0 -0
  105. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cls.py +0 -0
  106. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/cls.pyi +0 -0
  107. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/config.py +0 -0
  108. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/container_process.py +0 -0
  109. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/container_process.pyi +0 -0
  110. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/environments.py +0 -0
  111. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/environments.pyi +0 -0
  112. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/exception.py +0 -0
  113. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/experimental/__init__.py +0 -0
  114. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/experimental/flash.py +0 -0
  115. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/experimental/flash.pyi +0 -0
  116. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/experimental/ipython.py +0 -0
  117. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/file_io.py +0 -0
  118. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/file_io.pyi +0 -0
  119. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/file_pattern_matcher.py +0 -0
  120. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/functions.py +0 -0
  121. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/gpu.py +0 -0
  122. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/image.py +0 -0
  123. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/image.pyi +0 -0
  124. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/io_streams.py +0 -0
  125. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/io_streams.pyi +0 -0
  126. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/mount.py +0 -0
  127. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/mount.pyi +0 -0
  128. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/network_file_system.py +0 -0
  129. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/network_file_system.pyi +0 -0
  130. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/object.py +0 -0
  131. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/object.pyi +0 -0
  132. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/output.py +0 -0
  133. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/parallel_map.py +0 -0
  134. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/parallel_map.pyi +0 -0
  135. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/partial_function.py +0 -0
  136. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/partial_function.pyi +0 -0
  137. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/proxy.py +0 -0
  138. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/proxy.pyi +0 -0
  139. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/py.typed +0 -0
  140. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/queue.py +0 -0
  141. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/queue.pyi +0 -0
  142. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/retries.py +0 -0
  143. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/runner.py +0 -0
  144. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/runner.pyi +0 -0
  145. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/running_app.py +0 -0
  146. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/sandbox.py +0 -0
  147. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/sandbox.pyi +0 -0
  148. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/schedule.py +0 -0
  149. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/scheduler_placement.py +0 -0
  150. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/secret.py +0 -0
  151. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/secret.pyi +0 -0
  152. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/serving.py +0 -0
  153. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/serving.pyi +0 -0
  154. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/snapshot.py +0 -0
  155. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/snapshot.pyi +0 -0
  156. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/stream_type.py +0 -0
  157. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/token_flow.py +0 -0
  158. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/token_flow.pyi +0 -0
  159. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/volume.py +0 -0
  160. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal/volume.pyi +0 -0
  161. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal.egg-info/SOURCES.txt +0 -0
  162. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal.egg-info/dependency_links.txt +0 -0
  163. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal.egg-info/entry_points.txt +0 -0
  164. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal.egg-info/requires.txt +0 -0
  165. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal.egg-info/top_level.txt +0 -0
  166. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_docs/__init__.py +0 -0
  167. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_docs/gen_cli_docs.py +0 -0
  168. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_docs/gen_reference_docs.py +0 -0
  169. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_docs/mdmd/__init__.py +0 -0
  170. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_docs/mdmd/mdmd.py +0 -0
  171. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_docs/mdmd/signatures.py +0 -0
  172. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/__init__.py +0 -0
  173. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/api.proto +0 -0
  174. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/api_grpc.py +0 -0
  175. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/api_pb2.py +0 -0
  176. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/api_pb2.pyi +0 -0
  177. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/api_pb2_grpc.py +0 -0
  178. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/api_pb2_grpc.pyi +0 -0
  179. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/modal_api_grpc.py +0 -0
  180. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/modal_options_grpc.py +0 -0
  181. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/options.proto +0 -0
  182. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/options_grpc.py +0 -0
  183. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/options_pb2.py +0 -0
  184. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/options_pb2.pyi +0 -0
  185. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/options_pb2_grpc.py +0 -0
  186. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/options_pb2_grpc.pyi +0 -0
  187. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/py.typed +0 -0
  188. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/sandbox_router.proto +0 -0
  189. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/sandbox_router_grpc.py +0 -0
  190. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/sandbox_router_pb2.py +0 -0
  191. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/sandbox_router_pb2.pyi +0 -0
  192. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
  193. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
  194. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/modal_version/__main__.py +0 -0
  195. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/pyproject.toml +0 -0
  196. {modal-1.1.5.dev43 → modal-1.1.5.dev44}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev43
3
+ Version: 1.1.5.dev44
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -33,7 +33,7 @@ class _Client:
33
33
  server_url: str,
34
34
  client_type: int,
35
35
  credentials: typing.Optional[tuple[str, str]],
36
- version: str = "1.1.5.dev43",
36
+ version: str = "1.1.5.dev44",
37
37
  ):
38
38
  """mdmd:hidden
39
39
  The Modal client object is not intended to be instantiated directly by users.
@@ -164,7 +164,7 @@ class Client:
164
164
  server_url: str,
165
165
  client_type: int,
166
166
  credentials: typing.Optional[tuple[str, str]],
167
- version: str = "1.1.5.dev43",
167
+ version: str = "1.1.5.dev44",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
@@ -30,6 +30,14 @@ from .config import logger
30
30
  from .exception import AlreadyExistsError, InvalidError, NotFoundError, RequestSizeError
31
31
 
32
32
 
33
+ class _NoDefaultSentinel:
34
+ def __repr__(self) -> str:
35
+ return "..."
36
+
37
+
38
+ _NO_DEFAULT = _NoDefaultSentinel()
39
+
40
+
33
41
  def _serialize_dict(data):
34
42
  return [api_pb2.DictEntry(key=serialize(k), value=serialize(v)) for k, v in data.items()]
35
43
 
@@ -543,11 +551,16 @@ class _Dict(_Object, type_prefix="di"):
543
551
  return await self.put(key, value)
544
552
 
545
553
  @live_method
546
- async def pop(self, key: Any) -> Any:
547
- """Remove a key from the Dict, returning the value if it exists."""
554
+ async def pop(self, key: Any, default: Any = _NO_DEFAULT) -> Any:
555
+ """Remove a key from the Dict, returning the value if it exists.
556
+
557
+ If key is not found, return default if provided, otherwise raise KeyError.
558
+ """
548
559
  req = api_pb2.DictPopRequest(dict_id=self.object_id, key=serialize(key))
549
560
  resp = await retry_transient_errors(self._client.stub.DictPop, req)
550
561
  if not resp.found:
562
+ if default is not _NO_DEFAULT:
563
+ return default
551
564
  raise KeyError(f"{key} not in dict {self.object_id}")
552
565
  return deserialize(resp.value, self._client)
553
566
 
@@ -10,6 +10,13 @@ import synchronicity.combined_types
10
10
  import typing
11
11
  import typing_extensions
12
12
 
13
+ class _NoDefaultSentinel:
14
+ def __repr__(self) -> str:
15
+ """Return repr(self)."""
16
+ ...
17
+
18
+ _NO_DEFAULT: _NoDefaultSentinel
19
+
13
20
  def _serialize_dict(data): ...
14
21
 
15
22
  class DictInfo:
@@ -548,8 +555,11 @@ class _Dict(modal._object._Object):
548
555
  """
549
556
  ...
550
557
 
551
- async def pop(self, key: typing.Any) -> typing.Any:
552
- """Remove a key from the Dict, returning the value if it exists."""
558
+ async def pop(self, key: typing.Any, default: typing.Any = ...) -> typing.Any:
559
+ """Remove a key from the Dict, returning the value if it exists.
560
+
561
+ If key is not found, return default if provided, otherwise raise KeyError.
562
+ """
553
563
  ...
554
564
 
555
565
  async def __delitem__(self, key: typing.Any) -> typing.Any:
@@ -918,12 +928,18 @@ class Dict(modal.object.Object):
918
928
  __setitem__: ____setitem___spec[typing_extensions.Self]
919
929
 
920
930
  class __pop_spec(typing_extensions.Protocol[SUPERSELF]):
921
- def __call__(self, /, key: typing.Any) -> typing.Any:
922
- """Remove a key from the Dict, returning the value if it exists."""
931
+ def __call__(self, /, key: typing.Any, default: typing.Any = ...) -> typing.Any:
932
+ """Remove a key from the Dict, returning the value if it exists.
933
+
934
+ If key is not found, return default if provided, otherwise raise KeyError.
935
+ """
923
936
  ...
924
937
 
925
- async def aio(self, /, key: typing.Any) -> typing.Any:
926
- """Remove a key from the Dict, returning the value if it exists."""
938
+ async def aio(self, /, key: typing.Any, default: typing.Any = ...) -> typing.Any:
939
+ """Remove a key from the Dict, returning the value if it exists.
940
+
941
+ If key is not found, return default if provided, otherwise raise KeyError.
942
+ """
927
943
  ...
928
944
 
929
945
  pop: __pop_spec[typing_extensions.Self]
@@ -449,7 +449,7 @@ class Function(
449
449
 
450
450
  _call_generator: ___call_generator_spec[typing_extensions.Self]
451
451
 
452
- class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
452
+ class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
453
453
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
454
454
  """Calls the function remotely, executing it with the given arguments and returning the execution's result."""
455
455
  ...
@@ -458,7 +458,7 @@ class Function(
458
458
  """Calls the function remotely, executing it with the given arguments and returning the execution's result."""
459
459
  ...
460
460
 
461
- remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
461
+ remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
462
462
 
463
463
  class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
464
464
  def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
@@ -485,7 +485,7 @@ class Function(
485
485
  """
486
486
  ...
487
487
 
488
- class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
488
+ class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
489
489
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
490
490
  """[Experimental] Calls the function with the given arguments, without waiting for the results.
491
491
 
@@ -509,7 +509,7 @@ class Function(
509
509
  ...
510
510
 
511
511
  _experimental_spawn: ___experimental_spawn_spec[
512
- modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
512
+ modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
513
513
  ]
514
514
 
515
515
  class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
@@ -518,7 +518,7 @@ class Function(
518
518
 
519
519
  _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
520
520
 
521
- class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
521
+ class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
522
522
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
523
523
  """Calls the function with the given arguments, without waiting for the results.
524
524
 
@@ -539,7 +539,7 @@ class Function(
539
539
  """
540
540
  ...
541
541
 
542
- spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
542
+ spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
543
543
 
544
544
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
545
545
  """Return the inner Python object wrapped by this Modal Function."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev43
3
+ Version: 1.1.5.dev44
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.1.5.dev43"
4
+ __version__ = "1.1.5.dev44"
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