modAL 1.2.2.dev28__tar.gz → 1.2.2.dev29__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 (199) hide show
  1. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/PKG-INFO +1 -1
  2. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_grpc_client.py +25 -2
  3. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/client.pyi +2 -2
  4. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal.egg-info/PKG-INFO +1 -1
  5. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_version/__init__.py +1 -1
  6. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/LICENSE +0 -0
  7. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/README.md +0 -0
  8. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/__init__.py +0 -0
  9. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/__main__.py +0 -0
  10. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_billing.py +0 -0
  11. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_clustered_functions.py +0 -0
  12. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_clustered_functions.pyi +0 -0
  13. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_container_entrypoint.py +0 -0
  14. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_functions.py +0 -0
  15. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_ipython.py +0 -0
  16. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_location.py +0 -0
  17. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_object.py +0 -0
  18. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_output.py +0 -0
  19. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_partial_function.py +0 -0
  20. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_pty.py +0 -0
  21. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_resolver.py +0 -0
  22. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_resources.py +0 -0
  23. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_runtime/__init__.py +0 -0
  24. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_runtime/asgi.py +0 -0
  25. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_runtime/container_io_manager.py +0 -0
  26. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_runtime/container_io_manager.pyi +0 -0
  27. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_runtime/execution_context.py +0 -0
  28. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_runtime/execution_context.pyi +0 -0
  29. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  30. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_runtime/telemetry.py +0 -0
  31. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_runtime/user_code_imports.py +0 -0
  32. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_serialization.py +0 -0
  33. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_traceback.py +0 -0
  34. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_tunnel.py +0 -0
  35. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_tunnel.pyi +0 -0
  36. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_type_manager.py +0 -0
  37. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/__init__.py +0 -0
  38. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/app_utils.py +0 -0
  39. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/async_utils.py +0 -0
  40. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/auth_token_manager.py +0 -0
  41. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/blob_utils.py +0 -0
  42. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/bytes_io_segment_payload.py +0 -0
  43. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/deprecation.py +0 -0
  44. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/docker_utils.py +0 -0
  45. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/function_utils.py +0 -0
  46. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/git_utils.py +0 -0
  47. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/grpc_testing.py +0 -0
  48. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/grpc_utils.py +0 -0
  49. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/hash_utils.py +0 -0
  50. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/http_utils.py +0 -0
  51. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/jwt_utils.py +0 -0
  52. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/logger.py +0 -0
  53. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/mount_utils.py +0 -0
  54. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/name_utils.py +0 -0
  55. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/package_utils.py +0 -0
  56. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/pattern_utils.py +0 -0
  57. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/rand_pb_testing.py +0 -0
  58. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/shell_utils.py +0 -0
  59. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/task_command_router_client.py +0 -0
  60. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_utils/time_utils.py +0 -0
  61. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_vendor/__init__.py +0 -0
  62. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  63. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_vendor/cloudpickle.py +0 -0
  64. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_vendor/tblib.py +0 -0
  65. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/_watcher.py +0 -0
  66. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/app.py +0 -0
  67. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/app.pyi +0 -0
  68. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/billing.py +0 -0
  69. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/builder/2023.12.312.txt +0 -0
  70. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/builder/2023.12.txt +0 -0
  71. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/builder/2024.04.txt +0 -0
  72. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/builder/2024.10.txt +0 -0
  73. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/builder/2025.06.txt +0 -0
  74. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/builder/PREVIEW.txt +0 -0
  75. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/builder/README.md +0 -0
  76. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/builder/base-images.json +0 -0
  77. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/call_graph.py +0 -0
  78. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/__init__.py +0 -0
  79. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/_download.py +0 -0
  80. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/_traceback.py +0 -0
  81. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/app.py +0 -0
  82. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/cluster.py +0 -0
  83. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/config.py +0 -0
  84. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/container.py +0 -0
  85. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/dict.py +0 -0
  86. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/entry_point.py +0 -0
  87. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/environment.py +0 -0
  88. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/import_refs.py +0 -0
  89. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/launch.py +0 -0
  90. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/network_file_system.py +0 -0
  91. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/profile.py +0 -0
  92. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/programs/__init__.py +0 -0
  93. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/programs/launch_instance_ssh.py +0 -0
  94. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/programs/run_jupyter.py +0 -0
  95. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/programs/run_marimo.py +0 -0
  96. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/programs/vscode.py +0 -0
  97. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/queues.py +0 -0
  98. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/run.py +0 -0
  99. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/secret.py +0 -0
  100. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/token.py +0 -0
  101. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/utils.py +0 -0
  102. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cli/volume.py +0 -0
  103. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/client.py +0 -0
  104. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cloud_bucket_mount.py +0 -0
  105. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cloud_bucket_mount.pyi +0 -0
  106. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cls.py +0 -0
  107. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/cls.pyi +0 -0
  108. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/config.py +0 -0
  109. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/container_process.py +0 -0
  110. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/container_process.pyi +0 -0
  111. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/dict.py +0 -0
  112. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/dict.pyi +0 -0
  113. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/environments.py +0 -0
  114. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/environments.pyi +0 -0
  115. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/exception.py +0 -0
  116. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/experimental/__init__.py +0 -0
  117. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/experimental/flash.py +0 -0
  118. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/experimental/flash.pyi +0 -0
  119. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/experimental/ipython.py +0 -0
  120. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/file_io.py +0 -0
  121. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/file_io.pyi +0 -0
  122. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/file_pattern_matcher.py +0 -0
  123. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/functions.py +0 -0
  124. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/functions.pyi +0 -0
  125. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/gpu.py +0 -0
  126. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/image.py +0 -0
  127. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/image.pyi +0 -0
  128. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/io_streams.py +0 -0
  129. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/io_streams.pyi +0 -0
  130. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/mount.py +0 -0
  131. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/mount.pyi +0 -0
  132. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/network_file_system.py +0 -0
  133. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/network_file_system.pyi +0 -0
  134. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/object.py +0 -0
  135. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/object.pyi +0 -0
  136. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/output.py +0 -0
  137. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/parallel_map.py +0 -0
  138. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/parallel_map.pyi +0 -0
  139. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/partial_function.py +0 -0
  140. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/partial_function.pyi +0 -0
  141. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/proxy.py +0 -0
  142. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/proxy.pyi +0 -0
  143. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/py.typed +0 -0
  144. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/queue.py +0 -0
  145. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/queue.pyi +0 -0
  146. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/retries.py +0 -0
  147. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/runner.py +0 -0
  148. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/runner.pyi +0 -0
  149. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/running_app.py +0 -0
  150. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/sandbox.py +0 -0
  151. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/sandbox.pyi +0 -0
  152. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/schedule.py +0 -0
  153. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/scheduler_placement.py +0 -0
  154. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/secret.py +0 -0
  155. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/secret.pyi +0 -0
  156. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/serving.py +0 -0
  157. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/serving.pyi +0 -0
  158. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/snapshot.py +0 -0
  159. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/snapshot.pyi +0 -0
  160. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/stream_type.py +0 -0
  161. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/token_flow.py +0 -0
  162. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/token_flow.pyi +0 -0
  163. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/volume.py +0 -0
  164. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal/volume.pyi +0 -0
  165. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal.egg-info/SOURCES.txt +0 -0
  166. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal.egg-info/dependency_links.txt +0 -0
  167. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal.egg-info/entry_points.txt +0 -0
  168. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal.egg-info/requires.txt +0 -0
  169. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal.egg-info/top_level.txt +0 -0
  170. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_docs/__init__.py +0 -0
  171. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_docs/gen_cli_docs.py +0 -0
  172. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_docs/gen_reference_docs.py +0 -0
  173. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_docs/mdmd/__init__.py +0 -0
  174. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_docs/mdmd/mdmd.py +0 -0
  175. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_docs/mdmd/signatures.py +0 -0
  176. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/__init__.py +0 -0
  177. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/api.proto +0 -0
  178. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/api_grpc.py +0 -0
  179. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/api_pb2.py +0 -0
  180. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/api_pb2.pyi +0 -0
  181. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/api_pb2_grpc.py +0 -0
  182. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/api_pb2_grpc.pyi +0 -0
  183. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/modal_api_grpc.py +0 -0
  184. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/py.typed +0 -0
  185. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/sandbox_router.proto +0 -0
  186. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/sandbox_router_grpc.py +0 -0
  187. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/sandbox_router_pb2.py +0 -0
  188. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/sandbox_router_pb2.pyi +0 -0
  189. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
  190. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
  191. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/task_command_router.proto +0 -0
  192. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/task_command_router_grpc.py +0 -0
  193. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/task_command_router_pb2.py +0 -0
  194. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/task_command_router_pb2.pyi +0 -0
  195. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/task_command_router_pb2_grpc.py +0 -0
  196. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
  197. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/modal_version/__main__.py +0 -0
  198. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/pyproject.toml +0 -0
  199. {modal-1.2.2.dev28 → modal-1.2.2.dev29}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.2.2.dev28
3
+ Version: 1.2.2.dev29
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -1,5 +1,5 @@
1
1
  # Copyright Modal Labs 2025
2
- from typing import TYPE_CHECKING, Any, Collection, Generic, Literal, Mapping, Optional, TypeVar, Union
2
+ from typing import TYPE_CHECKING, Any, Collection, Generic, Literal, Mapping, Optional, TypeVar, Union, overload
3
3
 
4
4
  import grpclib.client
5
5
  from google.protobuf.message import Message
@@ -47,6 +47,9 @@ class grpc_error_converter:
47
47
  return False
48
48
 
49
49
 
50
+ _DEFAULT_RETRY = Retry()
51
+
52
+
50
53
  class UnaryUnaryWrapper(Generic[RequestType, ResponseType]):
51
54
  # Calls a grpclib.UnaryUnaryMethod using a specific Client instance, respecting
52
55
  # if that client is closed etc. and possibly introducing Modal-specific retry logic
@@ -67,11 +70,31 @@ class UnaryUnaryWrapper(Generic[RequestType, ResponseType]):
67
70
  def name(self) -> str:
68
71
  return self.wrapped_method.name
69
72
 
73
+ @overload
74
+ async def __call__(
75
+ self,
76
+ req: RequestType,
77
+ *,
78
+ retry: Retry = _DEFAULT_RETRY,
79
+ timeout: None = None,
80
+ metadata: Optional[list[tuple[str, str]]] = None,
81
+ ) -> ResponseType: ...
82
+
83
+ @overload
84
+ async def __call__(
85
+ self,
86
+ req: RequestType,
87
+ *,
88
+ retry: None,
89
+ timeout: Optional[float] = None,
90
+ metadata: Optional[list[tuple[str, str]]] = None,
91
+ ) -> ResponseType: ...
92
+
70
93
  async def __call__(
71
94
  self,
72
95
  req: RequestType,
73
96
  *,
74
- retry: Optional[Retry] = Retry(),
97
+ retry: Optional[Retry] = _DEFAULT_RETRY,
75
98
  timeout: Optional[float] = None,
76
99
  metadata: Optional[list[tuple[str, str]]] = None,
77
100
  ) -> ResponseType:
@@ -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.2.2.dev28",
36
+ version: str = "1.2.2.dev29",
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.2.2.dev28",
167
+ version: str = "1.2.2.dev29",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.2.2.dev28
3
+ Version: 1.2.2.dev29
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.2.2.dev28"
4
+ __version__ = "1.2.2.dev29"
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