modal 1.5.4.dev18__tar.gz → 1.5.4.dev20__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 (236) hide show
  1. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/PKG-INFO +1 -1
  2. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/entry_point.py +3 -0
  3. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/client.pyi +2 -2
  4. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/functions.pyi +6 -6
  5. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/api_grpc.py +16 -0
  7. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/api_pb2.py +717 -707
  8. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/api_pb2.pyi +28 -0
  9. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/api_pb2_grpc.py +34 -0
  10. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/api_pb2_grpc.pyi +12 -0
  11. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/modal_api_grpc.py +1 -0
  12. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_version/__init__.py +1 -1
  13. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/LICENSE +0 -0
  14. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/README.md +0 -0
  15. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/__init__.py +0 -0
  16. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/__main__.py +0 -0
  17. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_billing.py +0 -0
  18. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_clustered_functions.py +0 -0
  19. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_clustered_functions.pyi +0 -0
  20. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_container_entrypoint.py +0 -0
  21. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_environments.py +0 -0
  22. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_function_variants.py +0 -0
  23. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_functions.py +0 -0
  24. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_grpc_client.py +0 -0
  25. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_image.py +0 -0
  26. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_ipython.py +0 -0
  27. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_load_context.py +0 -0
  28. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_location.py +0 -0
  29. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_logs.py +0 -0
  30. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_logs_manager.py +0 -0
  31. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_logs_manager.pyi +0 -0
  32. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_object.py +0 -0
  33. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_output/__init__.py +0 -0
  34. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_output/manager.py +0 -0
  35. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_output/pty.py +0 -0
  36. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_output/rich.py +0 -0
  37. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_output/status.py +0 -0
  38. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_partial_function.py +0 -0
  39. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_resolver.py +0 -0
  40. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_resources.py +0 -0
  41. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/__init__.py +0 -0
  42. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/asgi.py +0 -0
  43. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/container_io_manager.py +0 -0
  44. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/container_io_manager.pyi +0 -0
  45. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/execution_context.py +0 -0
  46. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/execution_context.pyi +0 -0
  47. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  48. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/task_lifecycle_manager.py +0 -0
  49. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/task_lifecycle_manager.pyi +0 -0
  50. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/telemetry.py +0 -0
  51. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/user_code_event_loop.py +0 -0
  52. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_runtime/user_code_imports.py +0 -0
  53. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_serialization.py +0 -0
  54. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_server.py +0 -0
  55. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_supports_logs.py +0 -0
  56. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_traceback.py +0 -0
  57. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_tunnel.py +0 -0
  58. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_tunnel.pyi +0 -0
  59. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_type_manager.py +0 -0
  60. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/__init__.py +0 -0
  61. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/app_utils.py +0 -0
  62. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/async_utils.py +0 -0
  63. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/auth_token_manager.py +0 -0
  64. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/blob_utils.py +0 -0
  65. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/browser_utils.py +0 -0
  66. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/bytes_io_segment_payload.py +0 -0
  67. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/curl_utils.py +0 -0
  68. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/deprecation.py +0 -0
  69. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/display_utils.py +0 -0
  70. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/docker_utils.py +0 -0
  71. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/function_utils.py +0 -0
  72. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/git_utils.py +0 -0
  73. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/grpc_testing.py +0 -0
  74. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/grpc_utils.py +0 -0
  75. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/hash_utils.py +0 -0
  76. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/http_utils.py +0 -0
  77. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/jwt_utils.py +0 -0
  78. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/logger.py +0 -0
  79. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/mount_utils.py +0 -0
  80. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/name_utils.py +0 -0
  81. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/package_utils.py +0 -0
  82. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/pattern_utils.py +0 -0
  83. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/proxy_support.py +0 -0
  84. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/rand_pb_testing.py +0 -0
  85. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/sandbox_fs_utils.py +0 -0
  86. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/shell_utils.py +0 -0
  87. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/task_command_router_client.py +0 -0
  88. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_utils/time_utils.py +0 -0
  89. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_vendor/__init__.py +0 -0
  90. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  91. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_vendor/cloudpickle.py +0 -0
  92. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_vendor/tblib.py +0 -0
  93. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_vendor/version.py +0 -0
  94. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_watcher.py +0 -0
  95. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/_workspace.py +0 -0
  96. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/app.py +0 -0
  97. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/app.pyi +0 -0
  98. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/billing.py +0 -0
  99. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/billing.pyi +0 -0
  100. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/builder/2023.12.312.txt +0 -0
  101. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/builder/2023.12.txt +0 -0
  102. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/builder/2024.04.txt +0 -0
  103. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/builder/2024.10.txt +0 -0
  104. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/builder/2025.06.txt +0 -0
  105. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/builder/PREVIEW.txt +0 -0
  106. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/builder/README.md +0 -0
  107. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/builder/base-images.json +0 -0
  108. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/call_graph.py +0 -0
  109. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/__init__.py +0 -0
  110. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/_download.py +0 -0
  111. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/_help.py +0 -0
  112. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/_traceback.py +0 -0
  113. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/app.py +0 -0
  114. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/billing.py +0 -0
  115. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/bootstrap.py +0 -0
  116. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/changelog.py +0 -0
  117. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/cluster.py +0 -0
  118. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/config.py +0 -0
  119. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/container.py +0 -0
  120. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/curl.py +0 -0
  121. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/dashboard.py +0 -0
  122. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/dict.py +0 -0
  123. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/endpoint.py +0 -0
  124. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/environment.py +0 -0
  125. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/image.py +0 -0
  126. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/import_refs.py +0 -0
  127. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/launch.py +0 -0
  128. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/logo.py +0 -0
  129. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/network_file_system.py +0 -0
  130. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/profile.py +0 -0
  131. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/programs/__init__.py +0 -0
  132. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/programs/run_jupyter.py +0 -0
  133. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/programs/vscode.py +0 -0
  134. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/queues.py +0 -0
  135. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/run.py +0 -0
  136. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/secret.py +0 -0
  137. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/selector.py +0 -0
  138. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/shell.py +0 -0
  139. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/skills.py +0 -0
  140. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/token.py +0 -0
  141. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/utils.py +0 -0
  142. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/volume.py +0 -0
  143. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cli/workspace.py +0 -0
  144. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/client.py +0 -0
  145. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cloud_bucket_mount.py +0 -0
  146. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cloud_bucket_mount.pyi +0 -0
  147. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cls.py +0 -0
  148. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/cls.pyi +0 -0
  149. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/config.py +0 -0
  150. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/container_process.py +0 -0
  151. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/container_process.pyi +0 -0
  152. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/dict.py +0 -0
  153. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/dict.pyi +0 -0
  154. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/environments.py +0 -0
  155. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/environments.pyi +0 -0
  156. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/exception.py +0 -0
  157. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/experimental/__init__.py +0 -0
  158. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/experimental/flash.py +0 -0
  159. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/experimental/flash.pyi +0 -0
  160. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/experimental/ipython.py +0 -0
  161. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/file_io.py +0 -0
  162. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/file_io.pyi +0 -0
  163. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/file_pattern_matcher.py +0 -0
  164. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/functions.py +0 -0
  165. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/image.py +0 -0
  166. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/image.pyi +0 -0
  167. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/io_streams.py +0 -0
  168. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/io_streams.pyi +0 -0
  169. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/mount.py +0 -0
  170. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/mount.pyi +0 -0
  171. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/network_file_system.py +0 -0
  172. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/network_file_system.pyi +0 -0
  173. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/object.py +0 -0
  174. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/object.pyi +0 -0
  175. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/output.py +0 -0
  176. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/parallel_map.py +0 -0
  177. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/parallel_map.pyi +0 -0
  178. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/partial_function.py +0 -0
  179. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/partial_function.pyi +0 -0
  180. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/proxy.py +0 -0
  181. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/proxy.pyi +0 -0
  182. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/py.typed +0 -0
  183. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/queue.py +0 -0
  184. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/queue.pyi +0 -0
  185. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/retries.py +0 -0
  186. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/runner.py +0 -0
  187. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/runner.pyi +0 -0
  188. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/running_app.py +0 -0
  189. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/sandbox.py +0 -0
  190. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/sandbox.pyi +0 -0
  191. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/sandbox_fs.py +0 -0
  192. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/sandbox_fs.pyi +0 -0
  193. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/schedule.py +0 -0
  194. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/scheduler_placement.py +0 -0
  195. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/secret.py +0 -0
  196. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/secret.pyi +0 -0
  197. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/server.py +0 -0
  198. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/server.pyi +0 -0
  199. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/serving.py +0 -0
  200. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/serving.pyi +0 -0
  201. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/skills/modal/SKILL.md +0 -0
  202. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/snapshot.py +0 -0
  203. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/snapshot.pyi +0 -0
  204. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/stream_type.py +0 -0
  205. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/token_flow.py +0 -0
  206. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/token_flow.pyi +0 -0
  207. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/types.py +0 -0
  208. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/volume.py +0 -0
  209. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/volume.pyi +0 -0
  210. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/workspace.py +0 -0
  211. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal/workspace.pyi +0 -0
  212. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal.egg-info/SOURCES.txt +0 -0
  213. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal.egg-info/dependency_links.txt +0 -0
  214. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal.egg-info/entry_points.txt +0 -0
  215. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal.egg-info/requires.txt +0 -0
  216. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal.egg-info/top_level.txt +0 -0
  217. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_docs/__init__.py +0 -0
  218. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_docs/gen_cli_docs.py +0 -0
  219. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_docs/gen_cli_docs_main.py +0 -0
  220. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_docs/gen_reference_docs.py +0 -0
  221. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_docs/gen_reference_docs_main.py +0 -0
  222. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_docs/mdmd/__init__.py +0 -0
  223. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_docs/mdmd/mdmd.py +0 -0
  224. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_docs/mdmd/signatures.py +0 -0
  225. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_docs/mdmd/types.py +0 -0
  226. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_docs/reference_intro.md +0 -0
  227. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/__init__.py +0 -0
  228. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/py.typed +0 -0
  229. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/task_command_router_grpc.py +0 -0
  230. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/task_command_router_pb2.py +0 -0
  231. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/task_command_router_pb2.pyi +0 -0
  232. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/task_command_router_pb2_grpc.py +0 -0
  233. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
  234. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/modal_version/__main__.py +0 -0
  235. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/pyproject.toml +0 -0
  236. {modal-1.5.4.dev18 → modal-1.5.4.dev20}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.5.4.dev18
3
+ Version: 1.5.4.dev20
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -97,6 +97,9 @@ async def setup(profile: str | None = None):
97
97
  # Fetch a new token (same as `modal token new` but redirect to /home once finishes)
98
98
  await _new_token(profile=profile, next_url="/home")
99
99
 
100
+ output = OutputManager.get()
101
+ output.print("[green]→[/green] Run [bold]modal skills install[/bold] to install agent skills")
102
+
100
103
 
101
104
  entrypoint_cli.add_command(curl, "curl", panel="Commands")
102
105
  entrypoint_cli.add_command(run.deploy, "deploy", panel="Commands")
@@ -37,7 +37,7 @@ class _Client:
37
37
  server_url: str,
38
38
  client_type: int,
39
39
  credentials: typing.Optional[tuple[str, str]],
40
- version: str = "1.5.4.dev18",
40
+ version: str = "1.5.4.dev20",
41
41
  ):
42
42
  """mdmd:hidden
43
43
  The Modal client object is not intended to be instantiated directly by users.
@@ -207,7 +207,7 @@ class Client:
207
207
  server_url: str,
208
208
  client_type: int,
209
209
  credentials: typing.Optional[tuple[str, str]],
210
- version: str = "1.5.4.dev18",
210
+ version: str = "1.5.4.dev20",
211
211
  ):
212
212
  """mdmd:hidden
213
213
  The Modal client object is not intended to be instantiated directly by users.
@@ -546,7 +546,7 @@ class Function(
546
546
 
547
547
  _call_generator: ___call_generator_spec
548
548
 
549
- class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
549
+ class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
550
550
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
551
551
  """Calls the function remotely, executing it with the given arguments and returning the execution's result.
552
552
 
@@ -571,7 +571,7 @@ class Function(
571
571
  """
572
572
  ...
573
573
 
574
- remote: __remote_spec[modal._functions.P, modal._functions.ReturnType]
574
+ remote: __remote_spec[modal._functions.ReturnType, modal._functions.P]
575
575
 
576
576
  class __remote_gen_spec(typing_extensions.Protocol):
577
577
  def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
@@ -621,7 +621,7 @@ class Function(
621
621
  """
622
622
  ...
623
623
 
624
- class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
624
+ class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
625
625
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
626
626
  """[Experimental] Calls the function with the given arguments, without waiting for the results.
627
627
 
@@ -654,7 +654,7 @@ class Function(
654
654
  """
655
655
  ...
656
656
 
657
- _experimental_spawn: ___experimental_spawn_spec[modal._functions.P, modal._functions.ReturnType]
657
+ _experimental_spawn: ___experimental_spawn_spec[modal._functions.ReturnType, modal._functions.P]
658
658
 
659
659
  class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER]):
660
660
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> None: ...
@@ -662,7 +662,7 @@ class Function(
662
662
 
663
663
  _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P]
664
664
 
665
- class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
665
+ class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
666
666
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
667
667
  """Calls the function with the given arguments, without waiting for the results.
668
668
 
@@ -695,7 +695,7 @@ class Function(
695
695
  """
696
696
  ...
697
697
 
698
- spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType]
698
+ spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P]
699
699
 
700
700
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
701
701
  """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.4.dev18
3
+ Version: 1.5.4.dev20
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -835,6 +835,10 @@ class ModalClientBase(abc.ABC):
835
835
  async def TunnelStop(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TunnelStopRequest, modal_proto.api_pb2.TunnelStopResponse]') -> None:
836
836
  pass
837
837
 
838
+ @abc.abstractmethod
839
+ async def UserGroupEnvironmentSet(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.UserGroupEnvironmentSetRequest, google.protobuf.empty_pb2.Empty]') -> None:
840
+ pass
841
+
838
842
  @abc.abstractmethod
839
843
  async def VolumeCommit(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.VolumeCommitRequest, modal_proto.api_pb2.VolumeCommitResponse]') -> None:
840
844
  pass
@@ -2197,6 +2201,12 @@ class ModalClientBase(abc.ABC):
2197
2201
  modal_proto.api_pb2.TunnelStopRequest,
2198
2202
  modal_proto.api_pb2.TunnelStopResponse,
2199
2203
  ),
2204
+ '/modal.client.ModalClient/UserGroupEnvironmentSet': grpclib.const.Handler(
2205
+ self.UserGroupEnvironmentSet,
2206
+ grpclib.const.Cardinality.UNARY_UNARY,
2207
+ modal_proto.api_pb2.UserGroupEnvironmentSetRequest,
2208
+ google.protobuf.empty_pb2.Empty,
2209
+ ),
2200
2210
  '/modal.client.ModalClient/VolumeCommit': grpclib.const.Handler(
2201
2211
  self.VolumeCommit,
2202
2212
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -3631,6 +3641,12 @@ class ModalClientStub:
3631
3641
  modal_proto.api_pb2.TunnelStopRequest,
3632
3642
  modal_proto.api_pb2.TunnelStopResponse,
3633
3643
  )
3644
+ self.UserGroupEnvironmentSet = grpclib.client.UnaryUnaryMethod(
3645
+ channel,
3646
+ '/modal.client.ModalClient/UserGroupEnvironmentSet',
3647
+ modal_proto.api_pb2.UserGroupEnvironmentSetRequest,
3648
+ google.protobuf.empty_pb2.Empty,
3649
+ )
3634
3650
  self.VolumeCommit = grpclib.client.UnaryUnaryMethod(
3635
3651
  channel,
3636
3652
  '/modal.client.ModalClient/VolumeCommit',