modal 1.5.2.dev9__tar.gz → 1.5.2.dev10__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 (230) hide show
  1. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/PKG-INFO +1 -1
  2. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_function_variants.py +4 -0
  3. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_functions.py +2 -0
  4. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/client.pyi +2 -2
  5. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/functions.pyi +7 -6
  6. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal.egg-info/PKG-INFO +1 -1
  7. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_version/__init__.py +1 -1
  8. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/LICENSE +0 -0
  9. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/README.md +0 -0
  10. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/__init__.py +0 -0
  11. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/__main__.py +0 -0
  12. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_billing.py +0 -0
  13. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_clustered_functions.py +0 -0
  14. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_clustered_functions.pyi +0 -0
  15. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_container_entrypoint.py +0 -0
  16. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_environments.py +0 -0
  17. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_grpc_client.py +0 -0
  18. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_image.py +0 -0
  19. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_ipython.py +0 -0
  20. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_load_context.py +0 -0
  21. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_location.py +0 -0
  22. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_logs.py +0 -0
  23. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_object.py +0 -0
  24. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_output/__init__.py +0 -0
  25. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_output/manager.py +0 -0
  26. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_output/pty.py +0 -0
  27. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_output/rich.py +0 -0
  28. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_output/status.py +0 -0
  29. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_partial_function.py +0 -0
  30. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_resolver.py +0 -0
  31. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_resources.py +0 -0
  32. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/__init__.py +0 -0
  33. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/asgi.py +0 -0
  34. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/container_io_manager.py +0 -0
  35. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/container_io_manager.pyi +0 -0
  36. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/execution_context.py +0 -0
  37. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/execution_context.pyi +0 -0
  38. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  39. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/task_lifecycle_manager.py +0 -0
  40. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/task_lifecycle_manager.pyi +0 -0
  41. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/telemetry.py +0 -0
  42. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/user_code_event_loop.py +0 -0
  43. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_runtime/user_code_imports.py +0 -0
  44. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_serialization.py +0 -0
  45. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_server.py +0 -0
  46. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_traceback.py +0 -0
  47. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_tunnel.py +0 -0
  48. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_tunnel.pyi +0 -0
  49. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_type_manager.py +0 -0
  50. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/__init__.py +0 -0
  51. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/app_utils.py +0 -0
  52. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/async_utils.py +0 -0
  53. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/auth_token_manager.py +0 -0
  54. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/blob_utils.py +0 -0
  55. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/browser_utils.py +0 -0
  56. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/bytes_io_segment_payload.py +0 -0
  57. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/curl_utils.py +0 -0
  58. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/deprecation.py +0 -0
  59. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/docker_utils.py +0 -0
  60. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/function_utils.py +0 -0
  61. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/git_utils.py +0 -0
  62. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/grpc_testing.py +0 -0
  63. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/grpc_utils.py +0 -0
  64. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/hash_utils.py +0 -0
  65. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/http_utils.py +0 -0
  66. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/jwt_utils.py +0 -0
  67. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/logger.py +0 -0
  68. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/mount_utils.py +0 -0
  69. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/name_utils.py +0 -0
  70. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/package_utils.py +0 -0
  71. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/pattern_utils.py +0 -0
  72. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/proxy_support.py +0 -0
  73. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/rand_pb_testing.py +0 -0
  74. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/sandbox_fs_utils.py +0 -0
  75. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/shell_utils.py +0 -0
  76. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/task_command_router_client.py +0 -0
  77. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_utils/time_utils.py +0 -0
  78. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_vendor/__init__.py +0 -0
  79. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  80. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_vendor/cloudpickle.py +0 -0
  81. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_vendor/tblib.py +0 -0
  82. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_vendor/version.py +0 -0
  83. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_watcher.py +0 -0
  84. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/_workspace.py +0 -0
  85. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/app.py +0 -0
  86. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/app.pyi +0 -0
  87. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/billing.py +0 -0
  88. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/billing.pyi +0 -0
  89. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/builder/2023.12.312.txt +0 -0
  90. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/builder/2023.12.txt +0 -0
  91. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/builder/2024.04.txt +0 -0
  92. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/builder/2024.10.txt +0 -0
  93. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/builder/2025.06.txt +0 -0
  94. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/builder/PREVIEW.txt +0 -0
  95. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/builder/README.md +0 -0
  96. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/builder/base-images.json +0 -0
  97. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/call_graph.py +0 -0
  98. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/__init__.py +0 -0
  99. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/_download.py +0 -0
  100. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/_help.py +0 -0
  101. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/_traceback.py +0 -0
  102. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/app.py +0 -0
  103. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/billing.py +0 -0
  104. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/bootstrap.py +0 -0
  105. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/changelog.py +0 -0
  106. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/cluster.py +0 -0
  107. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/config.py +0 -0
  108. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/container.py +0 -0
  109. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/curl.py +0 -0
  110. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/dashboard.py +0 -0
  111. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/dict.py +0 -0
  112. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/endpoint.py +0 -0
  113. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/entry_point.py +0 -0
  114. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/environment.py +0 -0
  115. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/image.py +0 -0
  116. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/import_refs.py +0 -0
  117. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/launch.py +0 -0
  118. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/logo.py +0 -0
  119. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/network_file_system.py +0 -0
  120. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/profile.py +0 -0
  121. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/programs/__init__.py +0 -0
  122. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/programs/run_jupyter.py +0 -0
  123. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/programs/vscode.py +0 -0
  124. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/queues.py +0 -0
  125. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/run.py +0 -0
  126. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/secret.py +0 -0
  127. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/selector.py +0 -0
  128. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/shell.py +0 -0
  129. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/skills.py +0 -0
  130. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/token.py +0 -0
  131. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/utils.py +0 -0
  132. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/volume.py +0 -0
  133. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cli/workspace.py +0 -0
  134. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/client.py +0 -0
  135. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cloud_bucket_mount.py +0 -0
  136. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cloud_bucket_mount.pyi +0 -0
  137. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cls.py +0 -0
  138. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/cls.pyi +0 -0
  139. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/config.py +0 -0
  140. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/container_process.py +0 -0
  141. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/container_process.pyi +0 -0
  142. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/dict.py +0 -0
  143. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/dict.pyi +0 -0
  144. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/environments.py +0 -0
  145. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/environments.pyi +0 -0
  146. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/exception.py +0 -0
  147. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/experimental/__init__.py +0 -0
  148. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/experimental/flash.py +0 -0
  149. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/experimental/flash.pyi +0 -0
  150. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/experimental/ipython.py +0 -0
  151. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/file_io.py +0 -0
  152. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/file_io.pyi +0 -0
  153. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/file_pattern_matcher.py +0 -0
  154. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/functions.py +0 -0
  155. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/image.py +0 -0
  156. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/image.pyi +0 -0
  157. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/io_streams.py +0 -0
  158. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/io_streams.pyi +0 -0
  159. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/mount.py +0 -0
  160. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/mount.pyi +0 -0
  161. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/network_file_system.py +0 -0
  162. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/network_file_system.pyi +0 -0
  163. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/object.py +0 -0
  164. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/object.pyi +0 -0
  165. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/output.py +0 -0
  166. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/parallel_map.py +0 -0
  167. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/parallel_map.pyi +0 -0
  168. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/partial_function.py +0 -0
  169. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/partial_function.pyi +0 -0
  170. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/proxy.py +0 -0
  171. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/proxy.pyi +0 -0
  172. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/py.typed +0 -0
  173. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/queue.py +0 -0
  174. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/queue.pyi +0 -0
  175. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/retries.py +0 -0
  176. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/runner.py +0 -0
  177. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/runner.pyi +0 -0
  178. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/running_app.py +0 -0
  179. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/sandbox.py +0 -0
  180. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/sandbox.pyi +0 -0
  181. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/sandbox_fs.py +0 -0
  182. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/sandbox_fs.pyi +0 -0
  183. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/schedule.py +0 -0
  184. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/scheduler_placement.py +0 -0
  185. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/secret.py +0 -0
  186. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/secret.pyi +0 -0
  187. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/server.py +0 -0
  188. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/server.pyi +0 -0
  189. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/serving.py +0 -0
  190. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/serving.pyi +0 -0
  191. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/skills/modal/SKILL.md +0 -0
  192. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/snapshot.py +0 -0
  193. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/snapshot.pyi +0 -0
  194. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/stream_type.py +0 -0
  195. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/token_flow.py +0 -0
  196. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/token_flow.pyi +0 -0
  197. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/volume.py +0 -0
  198. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/volume.pyi +0 -0
  199. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/workspace.py +0 -0
  200. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal/workspace.pyi +0 -0
  201. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal.egg-info/SOURCES.txt +0 -0
  202. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal.egg-info/dependency_links.txt +0 -0
  203. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal.egg-info/entry_points.txt +0 -0
  204. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal.egg-info/requires.txt +0 -0
  205. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal.egg-info/top_level.txt +0 -0
  206. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_docs/__init__.py +0 -0
  207. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_docs/gen_cli_docs.py +0 -0
  208. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_docs/gen_cli_docs_main.py +0 -0
  209. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_docs/gen_reference_docs.py +0 -0
  210. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_docs/gen_reference_docs_main.py +0 -0
  211. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_docs/mdmd/__init__.py +0 -0
  212. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_docs/mdmd/mdmd.py +0 -0
  213. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_docs/mdmd/signatures.py +0 -0
  214. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_docs/mdmd/types.py +0 -0
  215. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/__init__.py +0 -0
  216. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/api_grpc.py +0 -0
  217. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/api_pb2.py +0 -0
  218. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/api_pb2.pyi +0 -0
  219. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/api_pb2_grpc.py +0 -0
  220. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/api_pb2_grpc.pyi +0 -0
  221. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/modal_api_grpc.py +0 -0
  222. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/py.typed +0 -0
  223. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/task_command_router_grpc.py +0 -0
  224. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/task_command_router_pb2.py +0 -0
  225. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/task_command_router_pb2.pyi +0 -0
  226. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/task_command_router_pb2_grpc.py +0 -0
  227. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
  228. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/modal_version/__main__.py +0 -0
  229. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/pyproject.toml +0 -0
  230. {modal-1.5.2.dev9 → modal-1.5.2.dev10}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.5.2.dev9
3
+ Version: 1.5.2.dev10
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -51,6 +51,7 @@ class _FunctionOptions:
51
51
  target_concurrent_inputs: int | None = None
52
52
  batch_max_size: int | None = None
53
53
  batch_wait_ms: int | None = None
54
+ routing_region: str | None = None
54
55
 
55
56
  @classmethod
56
57
  def new(
@@ -73,6 +74,7 @@ class _FunctionOptions:
73
74
  target_concurrent_inputs: int | None = None,
74
75
  batch_max_size: int | None = None,
75
76
  batch_wait_ms: int | None = None,
77
+ routing_region: str | None = None,
76
78
  ) -> "_FunctionOptions":
77
79
  """Internal constructor that validates and normalizes public parameters."""
78
80
  retry_policy = _parse_retries(retries)
@@ -119,6 +121,7 @@ class _FunctionOptions:
119
121
  target_concurrent_inputs=target_concurrent_inputs,
120
122
  batch_max_size=batch_max_size,
121
123
  batch_wait_ms=batch_wait_ms,
124
+ routing_region=routing_region,
122
125
  )
123
126
 
124
127
  def merge_options(self, new_options: "_FunctionOptions") -> "_FunctionOptions":
@@ -182,6 +185,7 @@ class _FunctionOptions:
182
185
  batch_linger_ms=self.batch_wait_ms,
183
186
  scheduler_placement=self.scheduler_placement,
184
187
  cloud_provider_str=self.cloud,
188
+ routing_region=self.routing_region,
185
189
  )
186
190
 
187
191
 
@@ -1519,6 +1519,7 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
1519
1519
  timeout: int | None = None,
1520
1520
  region: str | Sequence[str] | None = None,
1521
1521
  cloud: str | None = None,
1522
+ routing_region: str | None = None,
1522
1523
  ) -> "_Function[P, ReturnType, OriginalReturnType]":
1523
1524
  """Dynamically override the static Function configuration with invocation-specific values.
1524
1525
 
@@ -1567,6 +1568,7 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
1567
1568
  timeout=timeout,
1568
1569
  region=region,
1569
1570
  cloud=cloud,
1571
+ routing_region=routing_region,
1570
1572
  )
1571
1573
 
1572
1574
  return self._apply_dynamic_config(options, "with_options")
@@ -35,7 +35,7 @@ class _Client:
35
35
  server_url: str,
36
36
  client_type: int,
37
37
  credentials: typing.Optional[tuple[str, str]],
38
- version: str = "1.5.2.dev9",
38
+ version: str = "1.5.2.dev10",
39
39
  ):
40
40
  """mdmd:hidden
41
41
  The Modal client object is not intended to be instantiated directly by users.
@@ -205,7 +205,7 @@ class Client:
205
205
  server_url: str,
206
206
  client_type: int,
207
207
  credentials: typing.Optional[tuple[str, str]],
208
- version: str = "1.5.2.dev9",
208
+ version: str = "1.5.2.dev10",
209
209
  ):
210
210
  """mdmd:hidden
211
211
  The Modal client object is not intended to be instantiated directly by users.
@@ -371,6 +371,7 @@ class Function(
371
371
  timeout: typing.Optional[int] = None,
372
372
  region: typing.Union[str, collections.abc.Sequence[str], None] = None,
373
373
  cloud: typing.Optional[str] = None,
374
+ routing_region: typing.Optional[str] = None,
374
375
  ) -> Function[modal._functions.P, modal._functions.ReturnType, modal._functions.OriginalReturnType]:
375
376
  """Dynamically override the static Function configuration with invocation-specific values.
376
377
 
@@ -490,7 +491,7 @@ class Function(
490
491
 
491
492
  _call_generator: ___call_generator_spec
492
493
 
493
- class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
494
+ class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
494
495
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
495
496
  """Calls the function remotely, executing it with the given arguments and returning the execution's result.
496
497
 
@@ -515,7 +516,7 @@ class Function(
515
516
  """
516
517
  ...
517
518
 
518
- remote: __remote_spec[modal._functions.P, modal._functions.ReturnType]
519
+ remote: __remote_spec[modal._functions.ReturnType, modal._functions.P]
519
520
 
520
521
  class __remote_gen_spec(typing_extensions.Protocol):
521
522
  def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
@@ -565,7 +566,7 @@ class Function(
565
566
  """
566
567
  ...
567
568
 
568
- class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
569
+ class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
569
570
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
570
571
  """[Experimental] Calls the function with the given arguments, without waiting for the results.
571
572
 
@@ -598,7 +599,7 @@ class Function(
598
599
  """
599
600
  ...
600
601
 
601
- _experimental_spawn: ___experimental_spawn_spec[modal._functions.P, modal._functions.ReturnType]
602
+ _experimental_spawn: ___experimental_spawn_spec[modal._functions.ReturnType, modal._functions.P]
602
603
 
603
604
  class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER]):
604
605
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> None: ...
@@ -606,7 +607,7 @@ class Function(
606
607
 
607
608
  _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P]
608
609
 
609
- class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
610
+ class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
610
611
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
611
612
  """Calls the function with the given arguments, without waiting for the results.
612
613
 
@@ -639,7 +640,7 @@ class Function(
639
640
  """
640
641
  ...
641
642
 
642
- spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType]
643
+ spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P]
643
644
 
644
645
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
645
646
  """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.5.2.dev9
3
+ Version: 1.5.2.dev10
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2026
2
2
  """Supplies the current version of the modal client library."""
3
3
 
4
- __version__ = "1.5.2.dev9"
4
+ __version__ = "1.5.2.dev10"
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