modal 1.1.5.dev75__tar.gz → 1.1.5.dev76__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.dev75 → modal-1.1.5.dev76}/PKG-INFO +1 -1
  2. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/client.pyi +2 -2
  3. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal.egg-info/PKG-INFO +1 -1
  4. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/api.proto +16 -0
  5. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/api_grpc.py +32 -0
  6. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/api_pb2.py +1031 -975
  7. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/api_pb2.pyi +77 -0
  8. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/api_pb2_grpc.py +66 -0
  9. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/api_pb2_grpc.pyi +20 -0
  10. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/modal_api_grpc.py +2 -0
  11. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_version/__init__.py +1 -1
  12. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/LICENSE +0 -0
  13. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/README.md +0 -0
  14. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/__init__.py +0 -0
  15. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/__main__.py +0 -0
  16. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_clustered_functions.py +0 -0
  17. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_clustered_functions.pyi +0 -0
  18. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_container_entrypoint.py +0 -0
  19. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_functions.py +0 -0
  20. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_ipython.py +0 -0
  21. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_location.py +0 -0
  22. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_object.py +0 -0
  23. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_output.py +0 -0
  24. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_partial_function.py +0 -0
  25. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_pty.py +0 -0
  26. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_resolver.py +0 -0
  27. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_resources.py +0 -0
  28. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_runtime/__init__.py +0 -0
  29. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_runtime/asgi.py +0 -0
  30. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_runtime/container_io_manager.py +0 -0
  31. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_runtime/container_io_manager.pyi +0 -0
  32. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_runtime/execution_context.py +0 -0
  33. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_runtime/execution_context.pyi +0 -0
  34. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  35. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_runtime/telemetry.py +0 -0
  36. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_runtime/user_code_imports.py +0 -0
  37. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_serialization.py +0 -0
  38. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_traceback.py +0 -0
  39. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_tunnel.py +0 -0
  40. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_tunnel.pyi +0 -0
  41. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_type_manager.py +0 -0
  42. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/__init__.py +0 -0
  43. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/app_utils.py +0 -0
  44. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/async_utils.py +0 -0
  45. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/auth_token_manager.py +0 -0
  46. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/blob_utils.py +0 -0
  47. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/bytes_io_segment_payload.py +0 -0
  48. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/deprecation.py +0 -0
  49. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/docker_utils.py +0 -0
  50. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/function_utils.py +0 -0
  51. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/git_utils.py +0 -0
  52. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/grpc_testing.py +0 -0
  53. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/grpc_utils.py +0 -0
  54. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/hash_utils.py +0 -0
  55. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/http_utils.py +0 -0
  56. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/jwt_utils.py +0 -0
  57. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/logger.py +0 -0
  58. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/mount_utils.py +0 -0
  59. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/name_utils.py +0 -0
  60. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/package_utils.py +0 -0
  61. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/pattern_utils.py +0 -0
  62. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/rand_pb_testing.py +0 -0
  63. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/shell_utils.py +0 -0
  64. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_utils/time_utils.py +0 -0
  65. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_vendor/__init__.py +0 -0
  66. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  67. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_vendor/cloudpickle.py +0 -0
  68. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_vendor/tblib.py +0 -0
  69. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/_watcher.py +0 -0
  70. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/app.py +0 -0
  71. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/app.pyi +0 -0
  72. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/builder/2023.12.312.txt +0 -0
  73. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/builder/2023.12.txt +0 -0
  74. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/builder/2024.04.txt +0 -0
  75. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/builder/2024.10.txt +0 -0
  76. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/builder/2025.06.txt +0 -0
  77. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/builder/PREVIEW.txt +0 -0
  78. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/builder/README.md +0 -0
  79. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/builder/base-images.json +0 -0
  80. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/call_graph.py +0 -0
  81. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/__init__.py +0 -0
  82. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/_download.py +0 -0
  83. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/_traceback.py +0 -0
  84. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/app.py +0 -0
  85. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/cluster.py +0 -0
  86. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/config.py +0 -0
  87. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/container.py +0 -0
  88. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/dict.py +0 -0
  89. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/entry_point.py +0 -0
  90. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/environment.py +0 -0
  91. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/import_refs.py +0 -0
  92. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/launch.py +0 -0
  93. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/network_file_system.py +0 -0
  94. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/profile.py +0 -0
  95. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/programs/__init__.py +0 -0
  96. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/programs/launch_instance_ssh.py +0 -0
  97. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/programs/run_jupyter.py +0 -0
  98. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/programs/run_marimo.py +0 -0
  99. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/programs/vscode.py +0 -0
  100. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/queues.py +0 -0
  101. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/run.py +0 -0
  102. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/secret.py +0 -0
  103. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/token.py +0 -0
  104. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/utils.py +0 -0
  105. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cli/volume.py +0 -0
  106. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/client.py +0 -0
  107. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cloud_bucket_mount.py +0 -0
  108. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cloud_bucket_mount.pyi +0 -0
  109. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cls.py +0 -0
  110. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/cls.pyi +0 -0
  111. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/config.py +0 -0
  112. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/container_process.py +0 -0
  113. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/container_process.pyi +0 -0
  114. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/dict.py +0 -0
  115. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/dict.pyi +0 -0
  116. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/environments.py +0 -0
  117. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/environments.pyi +0 -0
  118. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/exception.py +0 -0
  119. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/experimental/__init__.py +0 -0
  120. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/experimental/flash.py +0 -0
  121. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/experimental/flash.pyi +0 -0
  122. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/experimental/ipython.py +0 -0
  123. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/file_io.py +0 -0
  124. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/file_io.pyi +0 -0
  125. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/file_pattern_matcher.py +0 -0
  126. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/functions.py +0 -0
  127. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/functions.pyi +0 -0
  128. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/gpu.py +0 -0
  129. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/image.py +0 -0
  130. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/image.pyi +0 -0
  131. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/io_streams.py +0 -0
  132. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/io_streams.pyi +0 -0
  133. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/mount.py +0 -0
  134. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/mount.pyi +0 -0
  135. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/network_file_system.py +0 -0
  136. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/network_file_system.pyi +0 -0
  137. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/object.py +0 -0
  138. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/object.pyi +0 -0
  139. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/output.py +0 -0
  140. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/parallel_map.py +0 -0
  141. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/parallel_map.pyi +0 -0
  142. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/partial_function.py +0 -0
  143. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/partial_function.pyi +0 -0
  144. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/proxy.py +0 -0
  145. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/proxy.pyi +0 -0
  146. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/py.typed +0 -0
  147. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/queue.py +0 -0
  148. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/queue.pyi +0 -0
  149. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/retries.py +0 -0
  150. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/runner.py +0 -0
  151. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/runner.pyi +0 -0
  152. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/running_app.py +0 -0
  153. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/sandbox.py +0 -0
  154. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/sandbox.pyi +0 -0
  155. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/schedule.py +0 -0
  156. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/scheduler_placement.py +0 -0
  157. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/secret.py +0 -0
  158. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/secret.pyi +0 -0
  159. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/serving.py +0 -0
  160. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/serving.pyi +0 -0
  161. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/snapshot.py +0 -0
  162. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/snapshot.pyi +0 -0
  163. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/stream_type.py +0 -0
  164. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/token_flow.py +0 -0
  165. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/token_flow.pyi +0 -0
  166. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/volume.py +0 -0
  167. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal/volume.pyi +0 -0
  168. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal.egg-info/SOURCES.txt +0 -0
  169. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal.egg-info/dependency_links.txt +0 -0
  170. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal.egg-info/entry_points.txt +0 -0
  171. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal.egg-info/requires.txt +0 -0
  172. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal.egg-info/top_level.txt +0 -0
  173. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_docs/__init__.py +0 -0
  174. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_docs/gen_cli_docs.py +0 -0
  175. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_docs/gen_reference_docs.py +0 -0
  176. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_docs/mdmd/__init__.py +0 -0
  177. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_docs/mdmd/mdmd.py +0 -0
  178. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_docs/mdmd/signatures.py +0 -0
  179. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/__init__.py +0 -0
  180. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/modal_options_grpc.py +0 -0
  181. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/options.proto +0 -0
  182. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/options_grpc.py +0 -0
  183. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/options_pb2.py +0 -0
  184. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/options_pb2.pyi +0 -0
  185. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/options_pb2_grpc.py +0 -0
  186. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/options_pb2_grpc.pyi +0 -0
  187. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/py.typed +0 -0
  188. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/sandbox_router.proto +0 -0
  189. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/sandbox_router_grpc.py +0 -0
  190. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/sandbox_router_pb2.py +0 -0
  191. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/sandbox_router_pb2.pyi +0 -0
  192. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
  193. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
  194. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/modal_version/__main__.py +0 -0
  195. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/pyproject.toml +0 -0
  196. {modal-1.1.5.dev75 → modal-1.1.5.dev76}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev75
3
+ Version: 1.1.5.dev76
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.dev75",
36
+ version: str = "1.1.5.dev76",
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.dev75",
167
+ version: str = "1.1.5.dev76",
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.1.5.dev75
3
+ Version: 1.1.5.dev76
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -399,6 +399,14 @@ message AppGetOrCreateResponse {
399
399
  string app_id = 1;
400
400
  }
401
401
 
402
+ message AppGetTagsRequest {
403
+ string app_id = 1;
404
+ }
405
+
406
+ message AppGetTagsResponse {
407
+ map<string, string> tags = 1;
408
+ }
409
+
402
410
  message AppHeartbeatRequest {
403
411
  string app_id = 1;
404
412
  }
@@ -468,6 +476,12 @@ message AppSetObjectsRequest {
468
476
  reserved 6;
469
477
  }
470
478
 
479
+ message AppSetTagsRequest {
480
+ string app_id = 1;
481
+ map<string, string> tags = 2;
482
+ }
483
+
484
+
471
485
  message AppStopRequest {
472
486
  string app_id = 1 [ (modal.options.audit_target_attr) = true ];
473
487
  AppStopSource source = 2;
@@ -3582,12 +3596,14 @@ service ModalClient {
3582
3596
  rpc AppGetLogs(AppGetLogsRequest) returns (stream TaskLogsBatch);
3583
3597
  rpc AppGetObjects(AppGetObjectsRequest) returns (AppGetObjectsResponse);
3584
3598
  rpc AppGetOrCreate(AppGetOrCreateRequest) returns (AppGetOrCreateResponse);
3599
+ rpc AppGetTags(AppGetTagsRequest) returns (AppGetTagsResponse);
3585
3600
  rpc AppHeartbeat(AppHeartbeatRequest) returns (google.protobuf.Empty);
3586
3601
  rpc AppList(AppListRequest) returns (AppListResponse);
3587
3602
  rpc AppLookup(AppLookupRequest) returns (AppLookupResponse);
3588
3603
  rpc AppPublish(AppPublishRequest) returns (AppPublishResponse);
3589
3604
  rpc AppRollback(AppRollbackRequest) returns (google.protobuf.Empty);
3590
3605
  rpc AppSetObjects(AppSetObjectsRequest) returns (google.protobuf.Empty);
3606
+ rpc AppSetTags(AppSetTagsRequest) returns (google.protobuf.Empty);
3591
3607
  rpc AppStop(AppStopRequest) returns (google.protobuf.Empty);
3592
3608
 
3593
3609
  // Input Plane
@@ -55,6 +55,10 @@ class ModalClientBase(abc.ABC):
55
55
  async def AppGetOrCreate(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppGetOrCreateRequest, modal_proto.api_pb2.AppGetOrCreateResponse]') -> None:
56
56
  pass
57
57
 
58
+ @abc.abstractmethod
59
+ async def AppGetTags(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppGetTagsRequest, modal_proto.api_pb2.AppGetTagsResponse]') -> None:
60
+ pass
61
+
58
62
  @abc.abstractmethod
59
63
  async def AppHeartbeat(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppHeartbeatRequest, google.protobuf.empty_pb2.Empty]') -> None:
60
64
  pass
@@ -79,6 +83,10 @@ class ModalClientBase(abc.ABC):
79
83
  async def AppSetObjects(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppSetObjectsRequest, google.protobuf.empty_pb2.Empty]') -> None:
80
84
  pass
81
85
 
86
+ @abc.abstractmethod
87
+ async def AppSetTags(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppSetTagsRequest, google.protobuf.empty_pb2.Empty]') -> None:
88
+ pass
89
+
82
90
  @abc.abstractmethod
83
91
  async def AppStop(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AppStopRequest, google.protobuf.empty_pb2.Empty]') -> None:
84
92
  pass
@@ -767,6 +775,12 @@ class ModalClientBase(abc.ABC):
767
775
  modal_proto.api_pb2.AppGetOrCreateRequest,
768
776
  modal_proto.api_pb2.AppGetOrCreateResponse,
769
777
  ),
778
+ '/modal.client.ModalClient/AppGetTags': grpclib.const.Handler(
779
+ self.AppGetTags,
780
+ grpclib.const.Cardinality.UNARY_UNARY,
781
+ modal_proto.api_pb2.AppGetTagsRequest,
782
+ modal_proto.api_pb2.AppGetTagsResponse,
783
+ ),
770
784
  '/modal.client.ModalClient/AppHeartbeat': grpclib.const.Handler(
771
785
  self.AppHeartbeat,
772
786
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -803,6 +817,12 @@ class ModalClientBase(abc.ABC):
803
817
  modal_proto.api_pb2.AppSetObjectsRequest,
804
818
  google.protobuf.empty_pb2.Empty,
805
819
  ),
820
+ '/modal.client.ModalClient/AppSetTags': grpclib.const.Handler(
821
+ self.AppSetTags,
822
+ grpclib.const.Cardinality.UNARY_UNARY,
823
+ modal_proto.api_pb2.AppSetTagsRequest,
824
+ google.protobuf.empty_pb2.Empty,
825
+ ),
806
826
  '/modal.client.ModalClient/AppStop': grpclib.const.Handler(
807
827
  self.AppStop,
808
828
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -1811,6 +1831,12 @@ class ModalClientStub:
1811
1831
  modal_proto.api_pb2.AppGetOrCreateRequest,
1812
1832
  modal_proto.api_pb2.AppGetOrCreateResponse,
1813
1833
  )
1834
+ self.AppGetTags = grpclib.client.UnaryUnaryMethod(
1835
+ channel,
1836
+ '/modal.client.ModalClient/AppGetTags',
1837
+ modal_proto.api_pb2.AppGetTagsRequest,
1838
+ modal_proto.api_pb2.AppGetTagsResponse,
1839
+ )
1814
1840
  self.AppHeartbeat = grpclib.client.UnaryUnaryMethod(
1815
1841
  channel,
1816
1842
  '/modal.client.ModalClient/AppHeartbeat',
@@ -1847,6 +1873,12 @@ class ModalClientStub:
1847
1873
  modal_proto.api_pb2.AppSetObjectsRequest,
1848
1874
  google.protobuf.empty_pb2.Empty,
1849
1875
  )
1876
+ self.AppSetTags = grpclib.client.UnaryUnaryMethod(
1877
+ channel,
1878
+ '/modal.client.ModalClient/AppSetTags',
1879
+ modal_proto.api_pb2.AppSetTagsRequest,
1880
+ google.protobuf.empty_pb2.Empty,
1881
+ )
1850
1882
  self.AppStop = grpclib.client.UnaryUnaryMethod(
1851
1883
  channel,
1852
1884
  '/modal.client.ModalClient/AppStop',