modal 1.3.1.dev29__tar.gz → 1.3.1.dev30__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 (197) hide show
  1. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/PKG-INFO +1 -1
  2. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/__main__.py +2 -1
  3. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/_traceback.py +2 -1
  4. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/client.pyi +2 -2
  5. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_version/__init__.py +1 -1
  7. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/LICENSE +0 -0
  8. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/README.md +0 -0
  9. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/__init__.py +0 -0
  10. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_billing.py +0 -0
  11. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_clustered_functions.py +0 -0
  12. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_clustered_functions.pyi +0 -0
  13. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_container_entrypoint.py +0 -0
  14. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_functions.py +0 -0
  15. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_grpc_client.py +0 -0
  16. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_ipython.py +0 -0
  17. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_load_context.py +0 -0
  18. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_location.py +0 -0
  19. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_object.py +0 -0
  20. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_output.py +0 -0
  21. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_partial_function.py +0 -0
  22. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_pty.py +0 -0
  23. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_resolver.py +0 -0
  24. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_resources.py +0 -0
  25. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_runtime/__init__.py +0 -0
  26. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_runtime/asgi.py +0 -0
  27. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_runtime/container_io_manager.py +0 -0
  28. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_runtime/container_io_manager.pyi +0 -0
  29. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_runtime/execution_context.py +0 -0
  30. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_runtime/execution_context.pyi +0 -0
  31. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  32. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_runtime/telemetry.py +0 -0
  33. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_runtime/user_code_event_loop.py +0 -0
  34. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_runtime/user_code_imports.py +0 -0
  35. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_serialization.py +0 -0
  36. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_server.py +0 -0
  37. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_traceback.py +0 -0
  38. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_tunnel.py +0 -0
  39. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_tunnel.pyi +0 -0
  40. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_type_manager.py +0 -0
  41. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/__init__.py +0 -0
  42. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/app_utils.py +0 -0
  43. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/async_utils.py +0 -0
  44. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/auth_token_manager.py +0 -0
  45. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/blob_utils.py +0 -0
  46. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/bytes_io_segment_payload.py +0 -0
  47. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/deprecation.py +0 -0
  48. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/docker_utils.py +0 -0
  49. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/function_utils.py +0 -0
  50. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/git_utils.py +0 -0
  51. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/grpc_testing.py +0 -0
  52. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/grpc_utils.py +0 -0
  53. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/hash_utils.py +0 -0
  54. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/http_utils.py +0 -0
  55. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/jwt_utils.py +0 -0
  56. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/logger.py +0 -0
  57. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/mount_utils.py +0 -0
  58. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/name_utils.py +0 -0
  59. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/package_utils.py +0 -0
  60. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/pattern_utils.py +0 -0
  61. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/rand_pb_testing.py +0 -0
  62. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/shell_utils.py +0 -0
  63. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/task_command_router_client.py +0 -0
  64. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_utils/time_utils.py +0 -0
  65. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_vendor/__init__.py +0 -0
  66. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  67. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_vendor/cloudpickle.py +0 -0
  68. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_vendor/tblib.py +0 -0
  69. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/_watcher.py +0 -0
  70. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/app.py +0 -0
  71. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/app.pyi +0 -0
  72. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/billing.py +0 -0
  73. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/builder/2023.12.312.txt +0 -0
  74. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/builder/2023.12.txt +0 -0
  75. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/builder/2024.04.txt +0 -0
  76. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/builder/2024.10.txt +0 -0
  77. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/builder/2025.06.txt +0 -0
  78. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/builder/PREVIEW.txt +0 -0
  79. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/builder/README.md +0 -0
  80. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/builder/base-images.json +0 -0
  81. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/call_graph.py +0 -0
  82. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/__init__.py +0 -0
  83. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/_download.py +0 -0
  84. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/app.py +0 -0
  85. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/cluster.py +0 -0
  86. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/config.py +0 -0
  87. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/container.py +0 -0
  88. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/dict.py +0 -0
  89. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/entry_point.py +0 -0
  90. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/environment.py +0 -0
  91. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/import_refs.py +0 -0
  92. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/launch.py +0 -0
  93. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/network_file_system.py +0 -0
  94. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/profile.py +0 -0
  95. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/programs/__init__.py +0 -0
  96. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/programs/run_jupyter.py +0 -0
  97. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/programs/vscode.py +0 -0
  98. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/queues.py +0 -0
  99. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/run.py +0 -0
  100. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/secret.py +0 -0
  101. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/shell.py +0 -0
  102. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/token.py +0 -0
  103. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/utils.py +0 -0
  104. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cli/volume.py +0 -0
  105. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/client.py +0 -0
  106. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cloud_bucket_mount.py +0 -0
  107. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cloud_bucket_mount.pyi +0 -0
  108. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cls.py +0 -0
  109. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/cls.pyi +0 -0
  110. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/config.py +0 -0
  111. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/container_process.py +0 -0
  112. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/container_process.pyi +0 -0
  113. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/dict.py +0 -0
  114. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/dict.pyi +0 -0
  115. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/environments.py +0 -0
  116. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/environments.pyi +0 -0
  117. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/exception.py +0 -0
  118. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/experimental/__init__.py +0 -0
  119. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/experimental/flash.py +0 -0
  120. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/experimental/flash.pyi +0 -0
  121. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/experimental/ipython.py +0 -0
  122. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/file_io.py +0 -0
  123. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/file_io.pyi +0 -0
  124. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/file_pattern_matcher.py +0 -0
  125. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/functions.py +0 -0
  126. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/functions.pyi +0 -0
  127. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/gpu.py +0 -0
  128. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/image.py +0 -0
  129. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/image.pyi +0 -0
  130. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/io_streams.py +0 -0
  131. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/io_streams.pyi +0 -0
  132. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/mount.py +0 -0
  133. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/mount.pyi +0 -0
  134. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/network_file_system.py +0 -0
  135. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/network_file_system.pyi +0 -0
  136. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/object.py +0 -0
  137. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/object.pyi +0 -0
  138. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/output.py +0 -0
  139. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/parallel_map.py +0 -0
  140. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/parallel_map.pyi +0 -0
  141. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/partial_function.py +0 -0
  142. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/partial_function.pyi +0 -0
  143. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/proxy.py +0 -0
  144. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/proxy.pyi +0 -0
  145. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/py.typed +0 -0
  146. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/queue.py +0 -0
  147. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/queue.pyi +0 -0
  148. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/retries.py +0 -0
  149. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/runner.py +0 -0
  150. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/runner.pyi +0 -0
  151. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/running_app.py +0 -0
  152. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/sandbox.py +0 -0
  153. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/sandbox.pyi +0 -0
  154. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/schedule.py +0 -0
  155. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/scheduler_placement.py +0 -0
  156. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/secret.py +0 -0
  157. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/secret.pyi +0 -0
  158. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/server.py +0 -0
  159. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/server.pyi +0 -0
  160. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/serving.py +0 -0
  161. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/serving.pyi +0 -0
  162. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/snapshot.py +0 -0
  163. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/snapshot.pyi +0 -0
  164. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/stream_type.py +0 -0
  165. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/token_flow.py +0 -0
  166. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/token_flow.pyi +0 -0
  167. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/volume.py +0 -0
  168. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal/volume.pyi +0 -0
  169. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal.egg-info/SOURCES.txt +0 -0
  170. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal.egg-info/dependency_links.txt +0 -0
  171. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal.egg-info/entry_points.txt +0 -0
  172. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal.egg-info/requires.txt +0 -0
  173. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal.egg-info/top_level.txt +0 -0
  174. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_docs/__init__.py +0 -0
  175. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_docs/gen_cli_docs.py +0 -0
  176. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_docs/gen_reference_docs.py +0 -0
  177. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_docs/mdmd/__init__.py +0 -0
  178. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_docs/mdmd/mdmd.py +0 -0
  179. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_docs/mdmd/signatures.py +0 -0
  180. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/__init__.py +0 -0
  181. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/api.proto +0 -0
  182. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/api_grpc.py +0 -0
  183. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/api_pb2.py +0 -0
  184. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/api_pb2.pyi +0 -0
  185. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/api_pb2_grpc.py +0 -0
  186. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/api_pb2_grpc.pyi +0 -0
  187. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/modal_api_grpc.py +0 -0
  188. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/py.typed +0 -0
  189. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/task_command_router.proto +0 -0
  190. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/task_command_router_grpc.py +0 -0
  191. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/task_command_router_pb2.py +0 -0
  192. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/task_command_router_pb2.pyi +0 -0
  193. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/task_command_router_pb2_grpc.py +0 -0
  194. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
  195. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/modal_version/__main__.py +0 -0
  196. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/pyproject.toml +0 -0
  197. {modal-1.3.1.dev29 → modal-1.3.1.dev30}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.3.1.dev29
3
+ Version: 1.3.1.dev30
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -35,6 +35,7 @@ def main():
35
35
  ):
36
36
  raise
37
37
 
38
+ from rich.markup import escape
38
39
  from rich.panel import Panel
39
40
 
40
41
  title = "Error"
@@ -43,7 +44,7 @@ def main():
43
44
  content = f"{content}\n\nNote: {' '.join(notes)}"
44
45
 
45
46
  console = make_console(stderr=True)
46
- panel = Panel(content, title=title, title_align="left", border_style="red")
47
+ panel = Panel(escape(content), title=title, title_align="left", border_style="red")
47
48
  console.print(panel, highlight=False)
48
49
  sys.exit(1)
49
50
 
@@ -7,6 +7,7 @@ import warnings
7
7
  from typing import Optional
8
8
 
9
9
  from rich.console import RenderResult, group
10
+ from rich.markup import escape
10
11
  from rich.panel import Panel
11
12
  from rich.syntax import Syntax
12
13
  from rich.text import Text
@@ -189,7 +190,7 @@ def highlight_modal_warnings() -> None:
189
190
  if date:
190
191
  title += f" ({date})"
191
192
  panel = Panel(
192
- message,
193
+ escape(message),
193
194
  border_style="yellow",
194
195
  title=title,
195
196
  title_align="left",
@@ -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.3.1.dev29",
38
+ version: str = "1.3.1.dev30",
39
39
  ):
40
40
  """mdmd:hidden
41
41
  The Modal client object is not intended to be instantiated directly by users.
@@ -166,7 +166,7 @@ class Client:
166
166
  server_url: str,
167
167
  client_type: int,
168
168
  credentials: typing.Optional[tuple[str, str]],
169
- version: str = "1.3.1.dev29",
169
+ version: str = "1.3.1.dev30",
170
170
  ):
171
171
  """mdmd:hidden
172
172
  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.3.1.dev29
3
+ Version: 1.3.1.dev30
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.3.1.dev29"
4
+ __version__ = "1.3.1.dev30"
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