modal 1.4.4.dev8__tar.gz → 1.4.4.dev9__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 (214) hide show
  1. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/PKG-INFO +1 -1
  2. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/client.pyi +2 -2
  3. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/sandbox.py +9 -5
  4. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/sandbox.pyi +3 -3
  5. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/api_pb2.py +358 -358
  7. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/api_pb2.pyi +7 -1
  8. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/task_command_router_pb2.py +80 -80
  9. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/task_command_router_pb2.pyi +4 -1
  10. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_version/__init__.py +1 -1
  11. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/LICENSE +0 -0
  12. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/README.md +0 -0
  13. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/__init__.py +0 -0
  14. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/__main__.py +0 -0
  15. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_billing.py +0 -0
  16. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_clustered_functions.py +0 -0
  17. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_clustered_functions.pyi +0 -0
  18. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_container_entrypoint.py +0 -0
  19. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_environments.py +0 -0
  20. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_function_variants.py +0 -0
  21. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_functions.py +0 -0
  22. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_grpc_client.py +0 -0
  23. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_ipython.py +0 -0
  24. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_load_context.py +0 -0
  25. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_location.py +0 -0
  26. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_logs.py +0 -0
  27. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_object.py +0 -0
  28. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_output/__init__.py +0 -0
  29. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_output/manager.py +0 -0
  30. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_output/pty.py +0 -0
  31. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_output/rich.py +0 -0
  32. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_output/status.py +0 -0
  33. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_partial_function.py +0 -0
  34. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_resolver.py +0 -0
  35. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_resources.py +0 -0
  36. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_runtime/__init__.py +0 -0
  37. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_runtime/asgi.py +0 -0
  38. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_runtime/container_io_manager.py +0 -0
  39. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_runtime/container_io_manager.pyi +0 -0
  40. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_runtime/execution_context.py +0 -0
  41. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_runtime/execution_context.pyi +0 -0
  42. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  43. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_runtime/telemetry.py +0 -0
  44. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_runtime/user_code_event_loop.py +0 -0
  45. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_runtime/user_code_imports.py +0 -0
  46. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_serialization.py +0 -0
  47. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_server.py +0 -0
  48. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_traceback.py +0 -0
  49. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_tunnel.py +0 -0
  50. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_tunnel.pyi +0 -0
  51. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_type_manager.py +0 -0
  52. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/__init__.py +0 -0
  53. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/app_utils.py +0 -0
  54. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/async_utils.py +0 -0
  55. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/auth_token_manager.py +0 -0
  56. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/blob_utils.py +0 -0
  57. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/browser_utils.py +0 -0
  58. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/bytes_io_segment_payload.py +0 -0
  59. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/deprecation.py +0 -0
  60. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/docker_utils.py +0 -0
  61. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/function_utils.py +0 -0
  62. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/git_utils.py +0 -0
  63. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/grpc_testing.py +0 -0
  64. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/grpc_utils.py +0 -0
  65. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/hash_utils.py +0 -0
  66. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/http_utils.py +0 -0
  67. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/jwt_utils.py +0 -0
  68. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/logger.py +0 -0
  69. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/mount_utils.py +0 -0
  70. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/name_utils.py +0 -0
  71. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/package_utils.py +0 -0
  72. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/pattern_utils.py +0 -0
  73. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/rand_pb_testing.py +0 -0
  74. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/sandbox_fs_utils.py +0 -0
  75. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/shell_utils.py +0 -0
  76. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/task_command_router_client.py +0 -0
  77. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_utils/time_utils.py +0 -0
  78. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_vendor/__init__.py +0 -0
  79. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  80. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_vendor/cloudpickle.py +0 -0
  81. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_vendor/tblib.py +0 -0
  82. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_vendor/version.py +0 -0
  83. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/_watcher.py +0 -0
  84. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/app.py +0 -0
  85. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/app.pyi +0 -0
  86. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/billing.py +0 -0
  87. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/builder/2023.12.312.txt +0 -0
  88. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/builder/2023.12.txt +0 -0
  89. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/builder/2024.04.txt +0 -0
  90. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/builder/2024.10.txt +0 -0
  91. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/builder/2025.06.txt +0 -0
  92. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/builder/PREVIEW.txt +0 -0
  93. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/builder/README.md +0 -0
  94. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/builder/base-images.json +0 -0
  95. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/call_graph.py +0 -0
  96. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/__init__.py +0 -0
  97. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/_download.py +0 -0
  98. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/_help.py +0 -0
  99. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/_traceback.py +0 -0
  100. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/app.py +0 -0
  101. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/billing.py +0 -0
  102. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/bootstrap.py +0 -0
  103. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/changelog.py +0 -0
  104. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/cluster.py +0 -0
  105. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/config.py +0 -0
  106. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/container.py +0 -0
  107. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/dashboard.py +0 -0
  108. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/dict.py +0 -0
  109. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/entry_point.py +0 -0
  110. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/environment.py +0 -0
  111. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/import_refs.py +0 -0
  112. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/launch.py +0 -0
  113. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/logo.py +0 -0
  114. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/network_file_system.py +0 -0
  115. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/profile.py +0 -0
  116. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/programs/__init__.py +0 -0
  117. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/programs/run_jupyter.py +0 -0
  118. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/programs/vscode.py +0 -0
  119. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/queues.py +0 -0
  120. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/run.py +0 -0
  121. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/secret.py +0 -0
  122. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/selector.py +0 -0
  123. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/shell.py +0 -0
  124. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/token.py +0 -0
  125. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/utils.py +0 -0
  126. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cli/volume.py +0 -0
  127. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/client.py +0 -0
  128. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cloud_bucket_mount.py +0 -0
  129. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cloud_bucket_mount.pyi +0 -0
  130. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cls.py +0 -0
  131. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/cls.pyi +0 -0
  132. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/config.py +0 -0
  133. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/container_process.py +0 -0
  134. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/container_process.pyi +0 -0
  135. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/dict.py +0 -0
  136. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/dict.pyi +0 -0
  137. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/environments.py +0 -0
  138. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/environments.pyi +0 -0
  139. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/exception.py +0 -0
  140. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/experimental/__init__.py +0 -0
  141. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/experimental/flash.py +0 -0
  142. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/experimental/flash.pyi +0 -0
  143. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/experimental/ipython.py +0 -0
  144. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/file_io.py +0 -0
  145. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/file_io.pyi +0 -0
  146. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/file_pattern_matcher.py +0 -0
  147. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/functions.py +0 -0
  148. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/functions.pyi +0 -0
  149. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/image.py +0 -0
  150. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/image.pyi +0 -0
  151. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/io_streams.py +0 -0
  152. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/io_streams.pyi +0 -0
  153. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/mount.py +0 -0
  154. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/mount.pyi +0 -0
  155. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/network_file_system.py +0 -0
  156. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/network_file_system.pyi +0 -0
  157. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/object.py +0 -0
  158. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/object.pyi +0 -0
  159. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/output.py +0 -0
  160. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/parallel_map.py +0 -0
  161. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/parallel_map.pyi +0 -0
  162. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/partial_function.py +0 -0
  163. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/partial_function.pyi +0 -0
  164. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/proxy.py +0 -0
  165. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/proxy.pyi +0 -0
  166. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/py.typed +0 -0
  167. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/queue.py +0 -0
  168. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/queue.pyi +0 -0
  169. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/retries.py +0 -0
  170. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/runner.py +0 -0
  171. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/runner.pyi +0 -0
  172. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/running_app.py +0 -0
  173. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/sandbox_fs.py +0 -0
  174. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/sandbox_fs.pyi +0 -0
  175. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/schedule.py +0 -0
  176. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/scheduler_placement.py +0 -0
  177. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/secret.py +0 -0
  178. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/secret.pyi +0 -0
  179. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/server.py +0 -0
  180. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/server.pyi +0 -0
  181. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/serving.py +0 -0
  182. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/serving.pyi +0 -0
  183. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/snapshot.py +0 -0
  184. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/snapshot.pyi +0 -0
  185. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/stream_type.py +0 -0
  186. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/token_flow.py +0 -0
  187. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/token_flow.pyi +0 -0
  188. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/volume.py +0 -0
  189. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal/volume.pyi +0 -0
  190. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal.egg-info/SOURCES.txt +0 -0
  191. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal.egg-info/dependency_links.txt +0 -0
  192. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal.egg-info/entry_points.txt +0 -0
  193. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal.egg-info/requires.txt +0 -0
  194. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal.egg-info/top_level.txt +0 -0
  195. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_docs/__init__.py +0 -0
  196. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_docs/gen_cli_docs.py +0 -0
  197. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_docs/gen_cli_docs_main.py +0 -0
  198. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_docs/gen_reference_docs.py +0 -0
  199. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_docs/gen_reference_docs_main.py +0 -0
  200. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_docs/mdmd/__init__.py +0 -0
  201. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_docs/mdmd/mdmd.py +0 -0
  202. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_docs/mdmd/signatures.py +0 -0
  203. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/__init__.py +0 -0
  204. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/api_grpc.py +0 -0
  205. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/api_pb2_grpc.py +0 -0
  206. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/api_pb2_grpc.pyi +0 -0
  207. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/modal_api_grpc.py +0 -0
  208. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/py.typed +0 -0
  209. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/task_command_router_grpc.py +0 -0
  210. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/task_command_router_pb2_grpc.py +0 -0
  211. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
  212. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/modal_version/__main__.py +0 -0
  213. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/pyproject.toml +0 -0
  214. {modal-1.4.4.dev8 → modal-1.4.4.dev9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.4.4.dev8
3
+ Version: 1.4.4.dev9
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -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.4.4.dev8",
38
+ version: str = "1.4.4.dev9",
39
39
  ):
40
40
  """mdmd:hidden
41
41
  The Modal client object is not intended to be instantiated directly by users.
@@ -175,7 +175,7 @@ class Client:
175
175
  server_url: str,
176
176
  client_type: int,
177
177
  credentials: typing.Optional[tuple[str, str]],
178
- version: str = "1.4.4.dev8",
178
+ version: str = "1.4.4.dev9",
179
179
  ):
180
180
  """mdmd:hidden
181
181
  The Modal client object is not intended to be instantiated directly by users.
@@ -695,7 +695,7 @@ class _Sandbox(_Object, type_prefix="sb"):
695
695
  cloud: Optional[str] = None,
696
696
  region: Optional[Union[str, Sequence[str]]] = None,
697
697
  block_network: bool = False,
698
- cidr_allowlist: Optional[Sequence[str]] = None,
698
+ outbound_cidr_allowlist: Optional[Sequence[str]] = None,
699
699
  inbound_cidr_allowlist: Optional[Sequence[str]] = None,
700
700
  volumes: dict[Union[str, os.PathLike], Union[_Volume, _CloudBucketMount]] = {},
701
701
  pty: bool = False,
@@ -773,21 +773,21 @@ class _Sandbox(_Object, type_prefix="sb"):
773
773
  )
774
774
 
775
775
  if block_network:
776
- if cidr_allowlist is not None:
777
- raise InvalidError("`cidr_allowlist` cannot be used when `block_network` is enabled")
776
+ if outbound_cidr_allowlist is not None:
777
+ raise InvalidError("`outbound_cidr_allowlist` cannot be used when `block_network` is enabled")
778
778
  if inbound_cidr_allowlist is not None:
779
779
  raise InvalidError("`inbound_cidr_allowlist` cannot be used when `block_network` is enabled")
780
780
  network_access = api_pb2.NetworkAccess(
781
781
  network_access_type=api_pb2.NetworkAccess.NetworkAccessType.BLOCKED,
782
782
  )
783
- elif cidr_allowlist is None:
783
+ elif outbound_cidr_allowlist is None:
784
784
  network_access = api_pb2.NetworkAccess(
785
785
  network_access_type=api_pb2.NetworkAccess.NetworkAccessType.OPEN,
786
786
  )
787
787
  else:
788
788
  network_access = api_pb2.NetworkAccess(
789
789
  network_access_type=api_pb2.NetworkAccess.NetworkAccessType.ALLOWLIST,
790
- allowed_cidrs=cidr_allowlist,
790
+ allowed_cidrs=outbound_cidr_allowlist,
791
791
  )
792
792
 
793
793
  async def _load(
@@ -1661,6 +1661,10 @@ class _Sandbox(_Object, type_prefix="sb"):
1661
1661
  sandbox_name_override=name,
1662
1662
  sandbox_name_override_type=api_pb2.SandboxRestoreRequest.SANDBOX_NAME_OVERRIDE_TYPE_STRING,
1663
1663
  )
1664
+ # Pin the restored Sandbox to a specific worker when MODAL_WORKER_ID is
1665
+ # set.
1666
+ if worker_id := config.get("worker_id"):
1667
+ restore_req.worker_id = worker_id
1664
1668
  restore_resp: api_pb2.SandboxRestoreResponse = await client.stub.SandboxRestore(restore_req)
1665
1669
 
1666
1670
  sandbox = await _Sandbox.from_id(restore_resp.sandbox_id, client)
@@ -323,7 +323,7 @@ class _Sandbox(modal._object._Object):
323
323
  cloud: typing.Optional[str] = None,
324
324
  region: typing.Union[str, collections.abc.Sequence[str], None] = None,
325
325
  block_network: bool = False,
326
- cidr_allowlist: typing.Optional[collections.abc.Sequence[str]] = None,
326
+ outbound_cidr_allowlist: typing.Optional[collections.abc.Sequence[str]] = None,
327
327
  inbound_cidr_allowlist: typing.Optional[collections.abc.Sequence[str]] = None,
328
328
  volumes: dict[
329
329
  typing.Union[str, os.PathLike],
@@ -1272,7 +1272,7 @@ class Sandbox(modal.object.Object):
1272
1272
  cloud: typing.Optional[str] = None,
1273
1273
  region: typing.Union[str, collections.abc.Sequence[str], None] = None,
1274
1274
  block_network: bool = False,
1275
- cidr_allowlist: typing.Optional[collections.abc.Sequence[str]] = None,
1275
+ outbound_cidr_allowlist: typing.Optional[collections.abc.Sequence[str]] = None,
1276
1276
  inbound_cidr_allowlist: typing.Optional[collections.abc.Sequence[str]] = None,
1277
1277
  volumes: dict[
1278
1278
  typing.Union[str, os.PathLike],
@@ -1320,7 +1320,7 @@ class Sandbox(modal.object.Object):
1320
1320
  cloud: typing.Optional[str] = None,
1321
1321
  region: typing.Union[str, collections.abc.Sequence[str], None] = None,
1322
1322
  block_network: bool = False,
1323
- cidr_allowlist: typing.Optional[collections.abc.Sequence[str]] = None,
1323
+ outbound_cidr_allowlist: typing.Optional[collections.abc.Sequence[str]] = None,
1324
1324
  inbound_cidr_allowlist: typing.Optional[collections.abc.Sequence[str]] = None,
1325
1325
  volumes: dict[
1326
1326
  typing.Union[str, os.PathLike],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.4.4.dev8
3
+ Version: 1.4.4.dev9
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0