modal 0.74.59__tar.gz → 0.74.61__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.74.59 → modal-0.74.61}/PKG-INFO +2 -2
  2. {modal-0.74.59 → modal-0.74.61}/modal/client.pyi +2 -2
  3. {modal-0.74.59 → modal-0.74.61}/modal/dict.py +23 -5
  4. {modal-0.74.59 → modal-0.74.61}/modal/dict.pyi +3 -3
  5. {modal-0.74.59 → modal-0.74.61}/modal.egg-info/PKG-INFO +2 -2
  6. {modal-0.74.59 → modal-0.74.61}/modal.egg-info/requires.txt +1 -1
  7. {modal-0.74.59 → modal-0.74.61}/modal_version/_version_generated.py +1 -1
  8. {modal-0.74.59 → modal-0.74.61}/pyproject.toml +1 -1
  9. {modal-0.74.59 → modal-0.74.61}/LICENSE +0 -0
  10. {modal-0.74.59 → modal-0.74.61}/README.md +0 -0
  11. {modal-0.74.59 → modal-0.74.61}/modal/__init__.py +0 -0
  12. {modal-0.74.59 → modal-0.74.61}/modal/__main__.py +0 -0
  13. {modal-0.74.59 → modal-0.74.61}/modal/_clustered_functions.py +0 -0
  14. {modal-0.74.59 → modal-0.74.61}/modal/_clustered_functions.pyi +0 -0
  15. {modal-0.74.59 → modal-0.74.61}/modal/_container_entrypoint.py +0 -0
  16. {modal-0.74.59 → modal-0.74.61}/modal/_functions.py +0 -0
  17. {modal-0.74.59 → modal-0.74.61}/modal/_ipython.py +0 -0
  18. {modal-0.74.59 → modal-0.74.61}/modal/_location.py +0 -0
  19. {modal-0.74.59 → modal-0.74.61}/modal/_object.py +0 -0
  20. {modal-0.74.59 → modal-0.74.61}/modal/_output.py +0 -0
  21. {modal-0.74.59 → modal-0.74.61}/modal/_partial_function.py +0 -0
  22. {modal-0.74.59 → modal-0.74.61}/modal/_pty.py +0 -0
  23. {modal-0.74.59 → modal-0.74.61}/modal/_resolver.py +0 -0
  24. {modal-0.74.59 → modal-0.74.61}/modal/_resources.py +0 -0
  25. {modal-0.74.59 → modal-0.74.61}/modal/_runtime/__init__.py +0 -0
  26. {modal-0.74.59 → modal-0.74.61}/modal/_runtime/asgi.py +0 -0
  27. {modal-0.74.59 → modal-0.74.61}/modal/_runtime/container_io_manager.py +0 -0
  28. {modal-0.74.59 → modal-0.74.61}/modal/_runtime/container_io_manager.pyi +0 -0
  29. {modal-0.74.59 → modal-0.74.61}/modal/_runtime/execution_context.py +0 -0
  30. {modal-0.74.59 → modal-0.74.61}/modal/_runtime/execution_context.pyi +0 -0
  31. {modal-0.74.59 → modal-0.74.61}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  32. {modal-0.74.59 → modal-0.74.61}/modal/_runtime/telemetry.py +0 -0
  33. {modal-0.74.59 → modal-0.74.61}/modal/_runtime/user_code_imports.py +0 -0
  34. {modal-0.74.59 → modal-0.74.61}/modal/_serialization.py +0 -0
  35. {modal-0.74.59 → modal-0.74.61}/modal/_traceback.py +0 -0
  36. {modal-0.74.59 → modal-0.74.61}/modal/_tunnel.py +0 -0
  37. {modal-0.74.59 → modal-0.74.61}/modal/_tunnel.pyi +0 -0
  38. {modal-0.74.59 → modal-0.74.61}/modal/_type_manager.py +0 -0
  39. {modal-0.74.59 → modal-0.74.61}/modal/_utils/__init__.py +0 -0
  40. {modal-0.74.59 → modal-0.74.61}/modal/_utils/app_utils.py +0 -0
  41. {modal-0.74.59 → modal-0.74.61}/modal/_utils/async_utils.py +0 -0
  42. {modal-0.74.59 → modal-0.74.61}/modal/_utils/blob_utils.py +0 -0
  43. {modal-0.74.59 → modal-0.74.61}/modal/_utils/bytes_io_segment_payload.py +0 -0
  44. {modal-0.74.59 → modal-0.74.61}/modal/_utils/deprecation.py +0 -0
  45. {modal-0.74.59 → modal-0.74.61}/modal/_utils/docker_utils.py +0 -0
  46. {modal-0.74.59 → modal-0.74.61}/modal/_utils/function_utils.py +0 -0
  47. {modal-0.74.59 → modal-0.74.61}/modal/_utils/git_utils.py +0 -0
  48. {modal-0.74.59 → modal-0.74.61}/modal/_utils/grpc_testing.py +0 -0
  49. {modal-0.74.59 → modal-0.74.61}/modal/_utils/grpc_utils.py +0 -0
  50. {modal-0.74.59 → modal-0.74.61}/modal/_utils/hash_utils.py +0 -0
  51. {modal-0.74.59 → modal-0.74.61}/modal/_utils/http_utils.py +0 -0
  52. {modal-0.74.59 → modal-0.74.61}/modal/_utils/jwt_utils.py +0 -0
  53. {modal-0.74.59 → modal-0.74.61}/modal/_utils/logger.py +0 -0
  54. {modal-0.74.59 → modal-0.74.61}/modal/_utils/mount_utils.py +0 -0
  55. {modal-0.74.59 → modal-0.74.61}/modal/_utils/name_utils.py +0 -0
  56. {modal-0.74.59 → modal-0.74.61}/modal/_utils/package_utils.py +0 -0
  57. {modal-0.74.59 → modal-0.74.61}/modal/_utils/pattern_utils.py +0 -0
  58. {modal-0.74.59 → modal-0.74.61}/modal/_utils/rand_pb_testing.py +0 -0
  59. {modal-0.74.59 → modal-0.74.61}/modal/_utils/shell_utils.py +0 -0
  60. {modal-0.74.59 → modal-0.74.61}/modal/_vendor/__init__.py +0 -0
  61. {modal-0.74.59 → modal-0.74.61}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  62. {modal-0.74.59 → modal-0.74.61}/modal/_vendor/cloudpickle.py +0 -0
  63. {modal-0.74.59 → modal-0.74.61}/modal/_vendor/tblib.py +0 -0
  64. {modal-0.74.59 → modal-0.74.61}/modal/_watcher.py +0 -0
  65. {modal-0.74.59 → modal-0.74.61}/modal/app.py +0 -0
  66. {modal-0.74.59 → modal-0.74.61}/modal/app.pyi +0 -0
  67. {modal-0.74.59 → modal-0.74.61}/modal/call_graph.py +0 -0
  68. {modal-0.74.59 → modal-0.74.61}/modal/cli/__init__.py +0 -0
  69. {modal-0.74.59 → modal-0.74.61}/modal/cli/_download.py +0 -0
  70. {modal-0.74.59 → modal-0.74.61}/modal/cli/_traceback.py +0 -0
  71. {modal-0.74.59 → modal-0.74.61}/modal/cli/app.py +0 -0
  72. {modal-0.74.59 → modal-0.74.61}/modal/cli/cluster.py +0 -0
  73. {modal-0.74.59 → modal-0.74.61}/modal/cli/config.py +0 -0
  74. {modal-0.74.59 → modal-0.74.61}/modal/cli/container.py +0 -0
  75. {modal-0.74.59 → modal-0.74.61}/modal/cli/dict.py +0 -0
  76. {modal-0.74.59 → modal-0.74.61}/modal/cli/entry_point.py +0 -0
  77. {modal-0.74.59 → modal-0.74.61}/modal/cli/environment.py +0 -0
  78. {modal-0.74.59 → modal-0.74.61}/modal/cli/import_refs.py +0 -0
  79. {modal-0.74.59 → modal-0.74.61}/modal/cli/launch.py +0 -0
  80. {modal-0.74.59 → modal-0.74.61}/modal/cli/network_file_system.py +0 -0
  81. {modal-0.74.59 → modal-0.74.61}/modal/cli/profile.py +0 -0
  82. {modal-0.74.59 → modal-0.74.61}/modal/cli/programs/__init__.py +0 -0
  83. {modal-0.74.59 → modal-0.74.61}/modal/cli/programs/run_jupyter.py +0 -0
  84. {modal-0.74.59 → modal-0.74.61}/modal/cli/programs/vscode.py +0 -0
  85. {modal-0.74.59 → modal-0.74.61}/modal/cli/queues.py +0 -0
  86. {modal-0.74.59 → modal-0.74.61}/modal/cli/run.py +0 -0
  87. {modal-0.74.59 → modal-0.74.61}/modal/cli/secret.py +0 -0
  88. {modal-0.74.59 → modal-0.74.61}/modal/cli/token.py +0 -0
  89. {modal-0.74.59 → modal-0.74.61}/modal/cli/utils.py +0 -0
  90. {modal-0.74.59 → modal-0.74.61}/modal/cli/volume.py +0 -0
  91. {modal-0.74.59 → modal-0.74.61}/modal/client.py +0 -0
  92. {modal-0.74.59 → modal-0.74.61}/modal/cloud_bucket_mount.py +0 -0
  93. {modal-0.74.59 → modal-0.74.61}/modal/cloud_bucket_mount.pyi +0 -0
  94. {modal-0.74.59 → modal-0.74.61}/modal/cls.py +0 -0
  95. {modal-0.74.59 → modal-0.74.61}/modal/cls.pyi +0 -0
  96. {modal-0.74.59 → modal-0.74.61}/modal/config.py +0 -0
  97. {modal-0.74.59 → modal-0.74.61}/modal/container_process.py +0 -0
  98. {modal-0.74.59 → modal-0.74.61}/modal/container_process.pyi +0 -0
  99. {modal-0.74.59 → modal-0.74.61}/modal/environments.py +0 -0
  100. {modal-0.74.59 → modal-0.74.61}/modal/environments.pyi +0 -0
  101. {modal-0.74.59 → modal-0.74.61}/modal/exception.py +0 -0
  102. {modal-0.74.59 → modal-0.74.61}/modal/experimental/__init__.py +0 -0
  103. {modal-0.74.59 → modal-0.74.61}/modal/experimental/ipython.py +0 -0
  104. {modal-0.74.59 → modal-0.74.61}/modal/file_io.py +0 -0
  105. {modal-0.74.59 → modal-0.74.61}/modal/file_io.pyi +0 -0
  106. {modal-0.74.59 → modal-0.74.61}/modal/file_pattern_matcher.py +0 -0
  107. {modal-0.74.59 → modal-0.74.61}/modal/functions.py +0 -0
  108. {modal-0.74.59 → modal-0.74.61}/modal/functions.pyi +0 -0
  109. {modal-0.74.59 → modal-0.74.61}/modal/gpu.py +0 -0
  110. {modal-0.74.59 → modal-0.74.61}/modal/image.py +0 -0
  111. {modal-0.74.59 → modal-0.74.61}/modal/image.pyi +0 -0
  112. {modal-0.74.59 → modal-0.74.61}/modal/io_streams.py +0 -0
  113. {modal-0.74.59 → modal-0.74.61}/modal/io_streams.pyi +0 -0
  114. {modal-0.74.59 → modal-0.74.61}/modal/mount.py +0 -0
  115. {modal-0.74.59 → modal-0.74.61}/modal/mount.pyi +0 -0
  116. {modal-0.74.59 → modal-0.74.61}/modal/network_file_system.py +0 -0
  117. {modal-0.74.59 → modal-0.74.61}/modal/network_file_system.pyi +0 -0
  118. {modal-0.74.59 → modal-0.74.61}/modal/object.py +0 -0
  119. {modal-0.74.59 → modal-0.74.61}/modal/object.pyi +0 -0
  120. {modal-0.74.59 → modal-0.74.61}/modal/output.py +0 -0
  121. {modal-0.74.59 → modal-0.74.61}/modal/parallel_map.py +0 -0
  122. {modal-0.74.59 → modal-0.74.61}/modal/parallel_map.pyi +0 -0
  123. {modal-0.74.59 → modal-0.74.61}/modal/partial_function.py +0 -0
  124. {modal-0.74.59 → modal-0.74.61}/modal/partial_function.pyi +0 -0
  125. {modal-0.74.59 → modal-0.74.61}/modal/proxy.py +0 -0
  126. {modal-0.74.59 → modal-0.74.61}/modal/proxy.pyi +0 -0
  127. {modal-0.74.59 → modal-0.74.61}/modal/py.typed +0 -0
  128. {modal-0.74.59 → modal-0.74.61}/modal/queue.py +0 -0
  129. {modal-0.74.59 → modal-0.74.61}/modal/queue.pyi +0 -0
  130. {modal-0.74.59 → modal-0.74.61}/modal/requirements/2023.12.312.txt +0 -0
  131. {modal-0.74.59 → modal-0.74.61}/modal/requirements/2023.12.txt +0 -0
  132. {modal-0.74.59 → modal-0.74.61}/modal/requirements/2024.04.txt +0 -0
  133. {modal-0.74.59 → modal-0.74.61}/modal/requirements/2024.10.txt +0 -0
  134. {modal-0.74.59 → modal-0.74.61}/modal/requirements/PREVIEW.txt +0 -0
  135. {modal-0.74.59 → modal-0.74.61}/modal/requirements/README.md +0 -0
  136. {modal-0.74.59 → modal-0.74.61}/modal/requirements/base-images.json +0 -0
  137. {modal-0.74.59 → modal-0.74.61}/modal/retries.py +0 -0
  138. {modal-0.74.59 → modal-0.74.61}/modal/runner.py +0 -0
  139. {modal-0.74.59 → modal-0.74.61}/modal/runner.pyi +0 -0
  140. {modal-0.74.59 → modal-0.74.61}/modal/running_app.py +0 -0
  141. {modal-0.74.59 → modal-0.74.61}/modal/sandbox.py +0 -0
  142. {modal-0.74.59 → modal-0.74.61}/modal/sandbox.pyi +0 -0
  143. {modal-0.74.59 → modal-0.74.61}/modal/schedule.py +0 -0
  144. {modal-0.74.59 → modal-0.74.61}/modal/scheduler_placement.py +0 -0
  145. {modal-0.74.59 → modal-0.74.61}/modal/secret.py +0 -0
  146. {modal-0.74.59 → modal-0.74.61}/modal/secret.pyi +0 -0
  147. {modal-0.74.59 → modal-0.74.61}/modal/serving.py +0 -0
  148. {modal-0.74.59 → modal-0.74.61}/modal/serving.pyi +0 -0
  149. {modal-0.74.59 → modal-0.74.61}/modal/snapshot.py +0 -0
  150. {modal-0.74.59 → modal-0.74.61}/modal/snapshot.pyi +0 -0
  151. {modal-0.74.59 → modal-0.74.61}/modal/stream_type.py +0 -0
  152. {modal-0.74.59 → modal-0.74.61}/modal/token_flow.py +0 -0
  153. {modal-0.74.59 → modal-0.74.61}/modal/token_flow.pyi +0 -0
  154. {modal-0.74.59 → modal-0.74.61}/modal/volume.py +0 -0
  155. {modal-0.74.59 → modal-0.74.61}/modal/volume.pyi +0 -0
  156. {modal-0.74.59 → modal-0.74.61}/modal.egg-info/SOURCES.txt +0 -0
  157. {modal-0.74.59 → modal-0.74.61}/modal.egg-info/dependency_links.txt +0 -0
  158. {modal-0.74.59 → modal-0.74.61}/modal.egg-info/entry_points.txt +0 -0
  159. {modal-0.74.59 → modal-0.74.61}/modal.egg-info/top_level.txt +0 -0
  160. {modal-0.74.59 → modal-0.74.61}/modal_docs/__init__.py +0 -0
  161. {modal-0.74.59 → modal-0.74.61}/modal_docs/gen_cli_docs.py +0 -0
  162. {modal-0.74.59 → modal-0.74.61}/modal_docs/gen_reference_docs.py +0 -0
  163. {modal-0.74.59 → modal-0.74.61}/modal_docs/mdmd/__init__.py +0 -0
  164. {modal-0.74.59 → modal-0.74.61}/modal_docs/mdmd/mdmd.py +0 -0
  165. {modal-0.74.59 → modal-0.74.61}/modal_docs/mdmd/signatures.py +0 -0
  166. {modal-0.74.59 → modal-0.74.61}/modal_proto/__init__.py +0 -0
  167. {modal-0.74.59 → modal-0.74.61}/modal_proto/api.proto +0 -0
  168. {modal-0.74.59 → modal-0.74.61}/modal_proto/api_grpc.py +0 -0
  169. {modal-0.74.59 → modal-0.74.61}/modal_proto/api_pb2.py +0 -0
  170. {modal-0.74.59 → modal-0.74.61}/modal_proto/api_pb2.pyi +0 -0
  171. {modal-0.74.59 → modal-0.74.61}/modal_proto/api_pb2_grpc.py +0 -0
  172. {modal-0.74.59 → modal-0.74.61}/modal_proto/api_pb2_grpc.pyi +0 -0
  173. {modal-0.74.59 → modal-0.74.61}/modal_proto/modal_api_grpc.py +0 -0
  174. {modal-0.74.59 → modal-0.74.61}/modal_proto/modal_options_grpc.py +0 -0
  175. {modal-0.74.59 → modal-0.74.61}/modal_proto/options.proto +0 -0
  176. {modal-0.74.59 → modal-0.74.61}/modal_proto/options_grpc.py +0 -0
  177. {modal-0.74.59 → modal-0.74.61}/modal_proto/options_pb2.py +0 -0
  178. {modal-0.74.59 → modal-0.74.61}/modal_proto/options_pb2.pyi +0 -0
  179. {modal-0.74.59 → modal-0.74.61}/modal_proto/options_pb2_grpc.py +0 -0
  180. {modal-0.74.59 → modal-0.74.61}/modal_proto/options_pb2_grpc.pyi +0 -0
  181. {modal-0.74.59 → modal-0.74.61}/modal_proto/py.typed +0 -0
  182. {modal-0.74.59 → modal-0.74.61}/modal_version/__init__.py +0 -0
  183. {modal-0.74.59 → modal-0.74.61}/modal_version/__main__.py +0 -0
  184. {modal-0.74.59 → modal-0.74.61}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.74.59
3
+ Version: 0.74.61
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -22,7 +22,7 @@ Requires-Dist: click>=8.1.0
22
22
  Requires-Dist: grpclib==0.4.7
23
23
  Requires-Dist: protobuf!=4.24.0,<7.0,>=3.19
24
24
  Requires-Dist: rich>=12.0.0
25
- Requires-Dist: synchronicity~=0.9.10
25
+ Requires-Dist: synchronicity~=0.9.12
26
26
  Requires-Dist: toml
27
27
  Requires-Dist: typer>=0.9
28
28
  Requires-Dist: types-certifi
@@ -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.74.59"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.61"
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.74.59"
89
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.61"
90
90
  ): ...
91
91
  def is_closed(self) -> bool: ...
92
92
  @property
@@ -1,5 +1,5 @@
1
1
  # Copyright Modal Labs 2022
2
- from collections.abc import AsyncIterator
2
+ from collections.abc import AsyncIterator, Mapping
3
3
  from typing import Any, Optional
4
4
 
5
5
  from grpclib import GRPCError
@@ -73,7 +73,7 @@ class _Dict(_Object, type_prefix="di"):
73
73
  @asynccontextmanager
74
74
  async def ephemeral(
75
75
  cls: type["_Dict"],
76
- data: Optional[dict] = None,
76
+ data: Optional[dict] = None, # DEPRECATED
77
77
  client: Optional[_Client] = None,
78
78
  environment_name: Optional[str] = None,
79
79
  _heartbeat_sleep: float = EPHEMERAL_OBJECT_HEARTBEAT_SLEEP,
@@ -95,6 +95,11 @@ class _Dict(_Object, type_prefix="di"):
95
95
  """
96
96
  if client is None:
97
97
  client = await _Client.from_env()
98
+ if data:
99
+ deprecation_warning(
100
+ (2025, 5, 6),
101
+ "Passing data to `modal.Dict.ephemeral` is deprecated and will stop working in a future release.",
102
+ )
98
103
  serialized = _serialize_dict(data if data is not None else {})
99
104
  request = api_pb2.DictGetOrCreateRequest(
100
105
  object_creation_type=api_pb2.OBJECT_CREATION_TYPE_EPHEMERAL,
@@ -111,7 +116,7 @@ class _Dict(_Object, type_prefix="di"):
111
116
  @renamed_parameter((2024, 12, 18), "label", "name")
112
117
  def from_name(
113
118
  name: str,
114
- data: Optional[dict] = None,
119
+ data: Optional[dict] = None, # DEPRECATED
115
120
  *,
116
121
  namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
117
122
  environment_name: Optional[str] = None,
@@ -130,6 +135,12 @@ class _Dict(_Object, type_prefix="di"):
130
135
  """
131
136
  check_object_name(name, "Dict")
132
137
 
138
+ if data:
139
+ deprecation_warning(
140
+ (2025, 5, 6),
141
+ "Passing data to `modal.Dict.from_name` is deprecated and will stop working in a future release.",
142
+ )
143
+
133
144
  async def _load(self: _Dict, resolver: Resolver, existing_object_id: Optional[str]):
134
145
  serialized = _serialize_dict(data if data is not None else {})
135
146
  req = api_pb2.DictGetOrCreateRequest(
@@ -244,9 +255,16 @@ class _Dict(_Object, type_prefix="di"):
244
255
  return value
245
256
 
246
257
  @live_method
247
- async def update(self, **kwargs) -> None:
258
+ async def update(self, other: Optional[Mapping] = None, /, **kwargs) -> None:
248
259
  """Update the dictionary with additional items."""
249
- serialized = _serialize_dict(kwargs)
260
+ # Support the Python dict.update API
261
+ # https://docs.python.org/3/library/stdtypes.html#dict.update
262
+ contents = {}
263
+ if other:
264
+ contents.update({k: other[k] for k in other.keys()})
265
+ if kwargs:
266
+ contents.update(kwargs)
267
+ serialized = _serialize_dict(contents)
250
268
  req = api_pb2.DictUpdateRequest(dict_id=self.object_id, updates=serialized)
251
269
  try:
252
270
  await retry_transient_errors(self._client.stub.DictUpdate, req)
@@ -48,7 +48,7 @@ class _Dict(modal._object._Object):
48
48
  async def contains(self, key: typing.Any) -> bool: ...
49
49
  async def len(self) -> int: ...
50
50
  async def __getitem__(self, key: typing.Any) -> typing.Any: ...
51
- async def update(self, **kwargs) -> None: ...
51
+ async def update(self, other: typing.Optional[collections.abc.Mapping] = None, /, **kwargs) -> None: ...
52
52
  async def put(self, key: typing.Any, value: typing.Any) -> None: ...
53
53
  async def __setitem__(self, key: typing.Any, value: typing.Any) -> None: ...
54
54
  async def pop(self, key: typing.Any) -> typing.Any: ...
@@ -155,8 +155,8 @@ class Dict(modal.object.Object):
155
155
  __getitem__: ____getitem___spec[typing_extensions.Self]
156
156
 
157
157
  class __update_spec(typing_extensions.Protocol[SUPERSELF]):
158
- def __call__(self, /, **kwargs) -> None: ...
159
- async def aio(self, /, **kwargs) -> None: ...
158
+ def __call__(self, other: typing.Optional[collections.abc.Mapping] = None, /, **kwargs) -> None: ...
159
+ async def aio(self, other: typing.Optional[collections.abc.Mapping] = None, /, **kwargs) -> None: ...
160
160
 
161
161
  update: __update_spec[typing_extensions.Self]
162
162
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.74.59
3
+ Version: 0.74.61
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -22,7 +22,7 @@ Requires-Dist: click>=8.1.0
22
22
  Requires-Dist: grpclib==0.4.7
23
23
  Requires-Dist: protobuf!=4.24.0,<7.0,>=3.19
24
24
  Requires-Dist: rich>=12.0.0
25
- Requires-Dist: synchronicity~=0.9.10
25
+ Requires-Dist: synchronicity~=0.9.12
26
26
  Requires-Dist: toml
27
27
  Requires-Dist: typer>=0.9
28
28
  Requires-Dist: types-certifi
@@ -4,7 +4,7 @@ click>=8.1.0
4
4
  grpclib==0.4.7
5
5
  protobuf!=4.24.0,<7.0,>=3.19
6
6
  rich>=12.0.0
7
- synchronicity~=0.9.10
7
+ synchronicity~=0.9.12
8
8
  toml
9
9
  typer>=0.9
10
10
  types-certifi
@@ -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 = 59 # git: 57679cb
4
+ build_number = 61 # git: 7447a11
@@ -20,7 +20,7 @@ dependencies = [
20
20
  "grpclib==0.4.7",
21
21
  "protobuf>=3.19,<7.0,!=4.24.0",
22
22
  "rich>=12.0.0",
23
- "synchronicity~=0.9.10",
23
+ "synchronicity~=0.9.12",
24
24
  "toml",
25
25
  "typer>=0.9",
26
26
  "types-certifi",
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