modal 0.76.2__tar.gz → 0.76.3__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 (184) hide show
  1. {modal-0.76.2 → modal-0.76.3}/PKG-INFO +1 -1
  2. {modal-0.76.2 → modal-0.76.3}/modal/cli/app.py +13 -11
  3. {modal-0.76.2 → modal-0.76.3}/modal/client.pyi +2 -2
  4. {modal-0.76.2 → modal-0.76.3}/modal.egg-info/PKG-INFO +1 -1
  5. {modal-0.76.2 → modal-0.76.3}/modal_version/_version_generated.py +1 -1
  6. {modal-0.76.2 → modal-0.76.3}/LICENSE +0 -0
  7. {modal-0.76.2 → modal-0.76.3}/README.md +0 -0
  8. {modal-0.76.2 → modal-0.76.3}/modal/__init__.py +0 -0
  9. {modal-0.76.2 → modal-0.76.3}/modal/__main__.py +0 -0
  10. {modal-0.76.2 → modal-0.76.3}/modal/_clustered_functions.py +0 -0
  11. {modal-0.76.2 → modal-0.76.3}/modal/_clustered_functions.pyi +0 -0
  12. {modal-0.76.2 → modal-0.76.3}/modal/_container_entrypoint.py +0 -0
  13. {modal-0.76.2 → modal-0.76.3}/modal/_functions.py +0 -0
  14. {modal-0.76.2 → modal-0.76.3}/modal/_ipython.py +0 -0
  15. {modal-0.76.2 → modal-0.76.3}/modal/_location.py +0 -0
  16. {modal-0.76.2 → modal-0.76.3}/modal/_object.py +0 -0
  17. {modal-0.76.2 → modal-0.76.3}/modal/_output.py +0 -0
  18. {modal-0.76.2 → modal-0.76.3}/modal/_partial_function.py +0 -0
  19. {modal-0.76.2 → modal-0.76.3}/modal/_pty.py +0 -0
  20. {modal-0.76.2 → modal-0.76.3}/modal/_resolver.py +0 -0
  21. {modal-0.76.2 → modal-0.76.3}/modal/_resources.py +0 -0
  22. {modal-0.76.2 → modal-0.76.3}/modal/_runtime/__init__.py +0 -0
  23. {modal-0.76.2 → modal-0.76.3}/modal/_runtime/asgi.py +0 -0
  24. {modal-0.76.2 → modal-0.76.3}/modal/_runtime/container_io_manager.py +0 -0
  25. {modal-0.76.2 → modal-0.76.3}/modal/_runtime/container_io_manager.pyi +0 -0
  26. {modal-0.76.2 → modal-0.76.3}/modal/_runtime/execution_context.py +0 -0
  27. {modal-0.76.2 → modal-0.76.3}/modal/_runtime/execution_context.pyi +0 -0
  28. {modal-0.76.2 → modal-0.76.3}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  29. {modal-0.76.2 → modal-0.76.3}/modal/_runtime/telemetry.py +0 -0
  30. {modal-0.76.2 → modal-0.76.3}/modal/_runtime/user_code_imports.py +0 -0
  31. {modal-0.76.2 → modal-0.76.3}/modal/_serialization.py +0 -0
  32. {modal-0.76.2 → modal-0.76.3}/modal/_traceback.py +0 -0
  33. {modal-0.76.2 → modal-0.76.3}/modal/_tunnel.py +0 -0
  34. {modal-0.76.2 → modal-0.76.3}/modal/_tunnel.pyi +0 -0
  35. {modal-0.76.2 → modal-0.76.3}/modal/_type_manager.py +0 -0
  36. {modal-0.76.2 → modal-0.76.3}/modal/_utils/__init__.py +0 -0
  37. {modal-0.76.2 → modal-0.76.3}/modal/_utils/app_utils.py +0 -0
  38. {modal-0.76.2 → modal-0.76.3}/modal/_utils/async_utils.py +0 -0
  39. {modal-0.76.2 → modal-0.76.3}/modal/_utils/blob_utils.py +0 -0
  40. {modal-0.76.2 → modal-0.76.3}/modal/_utils/bytes_io_segment_payload.py +0 -0
  41. {modal-0.76.2 → modal-0.76.3}/modal/_utils/deprecation.py +0 -0
  42. {modal-0.76.2 → modal-0.76.3}/modal/_utils/docker_utils.py +0 -0
  43. {modal-0.76.2 → modal-0.76.3}/modal/_utils/function_utils.py +0 -0
  44. {modal-0.76.2 → modal-0.76.3}/modal/_utils/git_utils.py +0 -0
  45. {modal-0.76.2 → modal-0.76.3}/modal/_utils/grpc_testing.py +0 -0
  46. {modal-0.76.2 → modal-0.76.3}/modal/_utils/grpc_utils.py +0 -0
  47. {modal-0.76.2 → modal-0.76.3}/modal/_utils/hash_utils.py +0 -0
  48. {modal-0.76.2 → modal-0.76.3}/modal/_utils/http_utils.py +0 -0
  49. {modal-0.76.2 → modal-0.76.3}/modal/_utils/jwt_utils.py +0 -0
  50. {modal-0.76.2 → modal-0.76.3}/modal/_utils/logger.py +0 -0
  51. {modal-0.76.2 → modal-0.76.3}/modal/_utils/mount_utils.py +0 -0
  52. {modal-0.76.2 → modal-0.76.3}/modal/_utils/name_utils.py +0 -0
  53. {modal-0.76.2 → modal-0.76.3}/modal/_utils/package_utils.py +0 -0
  54. {modal-0.76.2 → modal-0.76.3}/modal/_utils/pattern_utils.py +0 -0
  55. {modal-0.76.2 → modal-0.76.3}/modal/_utils/rand_pb_testing.py +0 -0
  56. {modal-0.76.2 → modal-0.76.3}/modal/_utils/shell_utils.py +0 -0
  57. {modal-0.76.2 → modal-0.76.3}/modal/_vendor/__init__.py +0 -0
  58. {modal-0.76.2 → modal-0.76.3}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  59. {modal-0.76.2 → modal-0.76.3}/modal/_vendor/cloudpickle.py +0 -0
  60. {modal-0.76.2 → modal-0.76.3}/modal/_vendor/tblib.py +0 -0
  61. {modal-0.76.2 → modal-0.76.3}/modal/_watcher.py +0 -0
  62. {modal-0.76.2 → modal-0.76.3}/modal/app.py +0 -0
  63. {modal-0.76.2 → modal-0.76.3}/modal/app.pyi +0 -0
  64. {modal-0.76.2 → modal-0.76.3}/modal/call_graph.py +0 -0
  65. {modal-0.76.2 → modal-0.76.3}/modal/cli/__init__.py +0 -0
  66. {modal-0.76.2 → modal-0.76.3}/modal/cli/_download.py +0 -0
  67. {modal-0.76.2 → modal-0.76.3}/modal/cli/_traceback.py +0 -0
  68. {modal-0.76.2 → modal-0.76.3}/modal/cli/cluster.py +0 -0
  69. {modal-0.76.2 → modal-0.76.3}/modal/cli/config.py +0 -0
  70. {modal-0.76.2 → modal-0.76.3}/modal/cli/container.py +0 -0
  71. {modal-0.76.2 → modal-0.76.3}/modal/cli/dict.py +0 -0
  72. {modal-0.76.2 → modal-0.76.3}/modal/cli/entry_point.py +0 -0
  73. {modal-0.76.2 → modal-0.76.3}/modal/cli/environment.py +0 -0
  74. {modal-0.76.2 → modal-0.76.3}/modal/cli/import_refs.py +0 -0
  75. {modal-0.76.2 → modal-0.76.3}/modal/cli/launch.py +0 -0
  76. {modal-0.76.2 → modal-0.76.3}/modal/cli/network_file_system.py +0 -0
  77. {modal-0.76.2 → modal-0.76.3}/modal/cli/profile.py +0 -0
  78. {modal-0.76.2 → modal-0.76.3}/modal/cli/programs/__init__.py +0 -0
  79. {modal-0.76.2 → modal-0.76.3}/modal/cli/programs/run_jupyter.py +0 -0
  80. {modal-0.76.2 → modal-0.76.3}/modal/cli/programs/vscode.py +0 -0
  81. {modal-0.76.2 → modal-0.76.3}/modal/cli/queues.py +0 -0
  82. {modal-0.76.2 → modal-0.76.3}/modal/cli/run.py +0 -0
  83. {modal-0.76.2 → modal-0.76.3}/modal/cli/secret.py +0 -0
  84. {modal-0.76.2 → modal-0.76.3}/modal/cli/token.py +0 -0
  85. {modal-0.76.2 → modal-0.76.3}/modal/cli/utils.py +0 -0
  86. {modal-0.76.2 → modal-0.76.3}/modal/cli/volume.py +0 -0
  87. {modal-0.76.2 → modal-0.76.3}/modal/client.py +0 -0
  88. {modal-0.76.2 → modal-0.76.3}/modal/cloud_bucket_mount.py +0 -0
  89. {modal-0.76.2 → modal-0.76.3}/modal/cloud_bucket_mount.pyi +0 -0
  90. {modal-0.76.2 → modal-0.76.3}/modal/cls.py +0 -0
  91. {modal-0.76.2 → modal-0.76.3}/modal/cls.pyi +0 -0
  92. {modal-0.76.2 → modal-0.76.3}/modal/config.py +0 -0
  93. {modal-0.76.2 → modal-0.76.3}/modal/container_process.py +0 -0
  94. {modal-0.76.2 → modal-0.76.3}/modal/container_process.pyi +0 -0
  95. {modal-0.76.2 → modal-0.76.3}/modal/dict.py +0 -0
  96. {modal-0.76.2 → modal-0.76.3}/modal/dict.pyi +0 -0
  97. {modal-0.76.2 → modal-0.76.3}/modal/environments.py +0 -0
  98. {modal-0.76.2 → modal-0.76.3}/modal/environments.pyi +0 -0
  99. {modal-0.76.2 → modal-0.76.3}/modal/exception.py +0 -0
  100. {modal-0.76.2 → modal-0.76.3}/modal/experimental/__init__.py +0 -0
  101. {modal-0.76.2 → modal-0.76.3}/modal/experimental/ipython.py +0 -0
  102. {modal-0.76.2 → modal-0.76.3}/modal/file_io.py +0 -0
  103. {modal-0.76.2 → modal-0.76.3}/modal/file_io.pyi +0 -0
  104. {modal-0.76.2 → modal-0.76.3}/modal/file_pattern_matcher.py +0 -0
  105. {modal-0.76.2 → modal-0.76.3}/modal/functions.py +0 -0
  106. {modal-0.76.2 → modal-0.76.3}/modal/functions.pyi +0 -0
  107. {modal-0.76.2 → modal-0.76.3}/modal/gpu.py +0 -0
  108. {modal-0.76.2 → modal-0.76.3}/modal/image.py +0 -0
  109. {modal-0.76.2 → modal-0.76.3}/modal/image.pyi +0 -0
  110. {modal-0.76.2 → modal-0.76.3}/modal/io_streams.py +0 -0
  111. {modal-0.76.2 → modal-0.76.3}/modal/io_streams.pyi +0 -0
  112. {modal-0.76.2 → modal-0.76.3}/modal/mount.py +0 -0
  113. {modal-0.76.2 → modal-0.76.3}/modal/mount.pyi +0 -0
  114. {modal-0.76.2 → modal-0.76.3}/modal/network_file_system.py +0 -0
  115. {modal-0.76.2 → modal-0.76.3}/modal/network_file_system.pyi +0 -0
  116. {modal-0.76.2 → modal-0.76.3}/modal/object.py +0 -0
  117. {modal-0.76.2 → modal-0.76.3}/modal/object.pyi +0 -0
  118. {modal-0.76.2 → modal-0.76.3}/modal/output.py +0 -0
  119. {modal-0.76.2 → modal-0.76.3}/modal/parallel_map.py +0 -0
  120. {modal-0.76.2 → modal-0.76.3}/modal/parallel_map.pyi +0 -0
  121. {modal-0.76.2 → modal-0.76.3}/modal/partial_function.py +0 -0
  122. {modal-0.76.2 → modal-0.76.3}/modal/partial_function.pyi +0 -0
  123. {modal-0.76.2 → modal-0.76.3}/modal/proxy.py +0 -0
  124. {modal-0.76.2 → modal-0.76.3}/modal/proxy.pyi +0 -0
  125. {modal-0.76.2 → modal-0.76.3}/modal/py.typed +0 -0
  126. {modal-0.76.2 → modal-0.76.3}/modal/queue.py +0 -0
  127. {modal-0.76.2 → modal-0.76.3}/modal/queue.pyi +0 -0
  128. {modal-0.76.2 → modal-0.76.3}/modal/requirements/2023.12.312.txt +0 -0
  129. {modal-0.76.2 → modal-0.76.3}/modal/requirements/2023.12.txt +0 -0
  130. {modal-0.76.2 → modal-0.76.3}/modal/requirements/2024.04.txt +0 -0
  131. {modal-0.76.2 → modal-0.76.3}/modal/requirements/2024.10.txt +0 -0
  132. {modal-0.76.2 → modal-0.76.3}/modal/requirements/PREVIEW.txt +0 -0
  133. {modal-0.76.2 → modal-0.76.3}/modal/requirements/README.md +0 -0
  134. {modal-0.76.2 → modal-0.76.3}/modal/requirements/base-images.json +0 -0
  135. {modal-0.76.2 → modal-0.76.3}/modal/retries.py +0 -0
  136. {modal-0.76.2 → modal-0.76.3}/modal/runner.py +0 -0
  137. {modal-0.76.2 → modal-0.76.3}/modal/runner.pyi +0 -0
  138. {modal-0.76.2 → modal-0.76.3}/modal/running_app.py +0 -0
  139. {modal-0.76.2 → modal-0.76.3}/modal/sandbox.py +0 -0
  140. {modal-0.76.2 → modal-0.76.3}/modal/sandbox.pyi +0 -0
  141. {modal-0.76.2 → modal-0.76.3}/modal/schedule.py +0 -0
  142. {modal-0.76.2 → modal-0.76.3}/modal/scheduler_placement.py +0 -0
  143. {modal-0.76.2 → modal-0.76.3}/modal/secret.py +0 -0
  144. {modal-0.76.2 → modal-0.76.3}/modal/secret.pyi +0 -0
  145. {modal-0.76.2 → modal-0.76.3}/modal/serving.py +0 -0
  146. {modal-0.76.2 → modal-0.76.3}/modal/serving.pyi +0 -0
  147. {modal-0.76.2 → modal-0.76.3}/modal/snapshot.py +0 -0
  148. {modal-0.76.2 → modal-0.76.3}/modal/snapshot.pyi +0 -0
  149. {modal-0.76.2 → modal-0.76.3}/modal/stream_type.py +0 -0
  150. {modal-0.76.2 → modal-0.76.3}/modal/token_flow.py +0 -0
  151. {modal-0.76.2 → modal-0.76.3}/modal/token_flow.pyi +0 -0
  152. {modal-0.76.2 → modal-0.76.3}/modal/volume.py +0 -0
  153. {modal-0.76.2 → modal-0.76.3}/modal/volume.pyi +0 -0
  154. {modal-0.76.2 → modal-0.76.3}/modal.egg-info/SOURCES.txt +0 -0
  155. {modal-0.76.2 → modal-0.76.3}/modal.egg-info/dependency_links.txt +0 -0
  156. {modal-0.76.2 → modal-0.76.3}/modal.egg-info/entry_points.txt +0 -0
  157. {modal-0.76.2 → modal-0.76.3}/modal.egg-info/requires.txt +0 -0
  158. {modal-0.76.2 → modal-0.76.3}/modal.egg-info/top_level.txt +0 -0
  159. {modal-0.76.2 → modal-0.76.3}/modal_docs/__init__.py +0 -0
  160. {modal-0.76.2 → modal-0.76.3}/modal_docs/gen_cli_docs.py +0 -0
  161. {modal-0.76.2 → modal-0.76.3}/modal_docs/gen_reference_docs.py +0 -0
  162. {modal-0.76.2 → modal-0.76.3}/modal_docs/mdmd/__init__.py +0 -0
  163. {modal-0.76.2 → modal-0.76.3}/modal_docs/mdmd/mdmd.py +0 -0
  164. {modal-0.76.2 → modal-0.76.3}/modal_docs/mdmd/signatures.py +0 -0
  165. {modal-0.76.2 → modal-0.76.3}/modal_proto/__init__.py +0 -0
  166. {modal-0.76.2 → modal-0.76.3}/modal_proto/api.proto +0 -0
  167. {modal-0.76.2 → modal-0.76.3}/modal_proto/api_grpc.py +0 -0
  168. {modal-0.76.2 → modal-0.76.3}/modal_proto/api_pb2.py +0 -0
  169. {modal-0.76.2 → modal-0.76.3}/modal_proto/api_pb2.pyi +0 -0
  170. {modal-0.76.2 → modal-0.76.3}/modal_proto/api_pb2_grpc.py +0 -0
  171. {modal-0.76.2 → modal-0.76.3}/modal_proto/api_pb2_grpc.pyi +0 -0
  172. {modal-0.76.2 → modal-0.76.3}/modal_proto/modal_api_grpc.py +0 -0
  173. {modal-0.76.2 → modal-0.76.3}/modal_proto/modal_options_grpc.py +0 -0
  174. {modal-0.76.2 → modal-0.76.3}/modal_proto/options.proto +0 -0
  175. {modal-0.76.2 → modal-0.76.3}/modal_proto/options_grpc.py +0 -0
  176. {modal-0.76.2 → modal-0.76.3}/modal_proto/options_pb2.py +0 -0
  177. {modal-0.76.2 → modal-0.76.3}/modal_proto/options_pb2.pyi +0 -0
  178. {modal-0.76.2 → modal-0.76.3}/modal_proto/options_pb2_grpc.py +0 -0
  179. {modal-0.76.2 → modal-0.76.3}/modal_proto/options_pb2_grpc.pyi +0 -0
  180. {modal-0.76.2 → modal-0.76.3}/modal_proto/py.typed +0 -0
  181. {modal-0.76.2 → modal-0.76.3}/modal_version/__init__.py +0 -0
  182. {modal-0.76.2 → modal-0.76.3}/modal_version/__main__.py +0 -0
  183. {modal-0.76.2 → modal-0.76.3}/pyproject.toml +0 -0
  184. {modal-0.76.2 → modal-0.76.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.76.2
3
+ Version: 0.76.3
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -224,10 +224,10 @@ async def history(
224
224
  "Time deployed",
225
225
  "Client",
226
226
  "Deployed by",
227
+ "Commit",
228
+ "Tag",
227
229
  ]
228
230
  rows = []
229
- deployments_with_tags = False
230
- deployments_with_commit_info = False
231
231
  deployments_with_dirty_commit = False
232
232
  for idx, app_stats in enumerate(resp.app_deployment_histories):
233
233
  style = "bold green" if idx == 0 else ""
@@ -239,24 +239,26 @@ async def history(
239
239
  Text(app_stats.deployed_by, style=style),
240
240
  ]
241
241
 
242
- if app_stats.tag:
243
- deployments_with_tags = True
244
- row.append(Text(app_stats.tag, style=style))
245
-
246
242
  if app_stats.commit_info.commit_hash:
247
- deployments_with_commit_info = True
248
243
  short_hash = app_stats.commit_info.commit_hash[:7]
249
244
  if app_stats.commit_info.dirty:
250
245
  deployments_with_dirty_commit = True
251
246
  short_hash = f"{short_hash}*"
252
247
  row.append(Text(short_hash, style=style))
248
+ else:
249
+ row.append(None)
250
+
251
+ if app_stats.tag:
252
+ row.append(Text(app_stats.tag, style=style))
253
+ else:
254
+ row.append(None)
253
255
 
254
256
  rows.append(row)
255
257
 
256
- if deployments_with_tags:
257
- columns.append("Tag")
258
- if deployments_with_commit_info:
259
- columns.append("Commit")
258
+ # Suppress tag information when no deployments used one
259
+ if not any(row[-1] for row in rows):
260
+ rows = [row[:-1] for row in rows]
261
+ columns = columns[:-1]
260
262
 
261
263
  rows = sorted(rows, key=lambda x: int(str(x[0])[1:]), reverse=True)
262
264
  display_table(columns, rows, json)
@@ -27,7 +27,7 @@ class _Client:
27
27
  _snapshotted: bool
28
28
 
29
29
  def __init__(
30
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.76.2"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.76.3"
31
31
  ): ...
32
32
  def is_closed(self) -> bool: ...
33
33
  @property
@@ -86,7 +86,7 @@ class Client:
86
86
  _snapshotted: bool
87
87
 
88
88
  def __init__(
89
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.76.2"
89
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.76.3"
90
90
  ): ...
91
91
  def is_closed(self) -> bool: ...
92
92
  @property
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.76.2
3
+ Version: 0.76.3
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
 
3
3
  # Note: Reset this value to -1 whenever you make a minor `0.X` release of the client.
4
- build_number = 2 # git: 88d20e2
4
+ build_number = 3 # git: 131137e
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
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
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
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