modal 1.0.5.dev19__py3-none-any.whl → 1.0.5.dev21__py3-none-any.whl

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.
@@ -28,6 +28,7 @@ from grpclib.protocol import H2Protocol
28
28
  from modal.exception import AuthError, ConnectionError
29
29
  from modal_version import __version__
30
30
 
31
+ from .async_utils import retry
31
32
  from .logger import logger
32
33
 
33
34
  RequestType = TypeVar("RequestType", bound=Message)
@@ -167,8 +168,9 @@ def create_channel(
167
168
  return channel
168
169
 
169
170
 
171
+ @retry(n_attempts=5, base_delay=0.1)
170
172
  async def connect_channel(channel: grpclib.client.Channel):
171
- """Connects socket (potentially raising errors raising to connectivity."""
173
+ """Connect to socket and raise exceptions when there is a connection issue."""
172
174
  await channel.__connect__()
173
175
 
174
176
 
modal/client.pyi CHANGED
@@ -31,7 +31,7 @@ class _Client:
31
31
  server_url: str,
32
32
  client_type: int,
33
33
  credentials: typing.Optional[tuple[str, str]],
34
- version: str = "1.0.5.dev19",
34
+ version: str = "1.0.5.dev21",
35
35
  ):
36
36
  """mdmd:hidden
37
37
  The Modal client object is not intended to be instantiated directly by users.
@@ -160,7 +160,7 @@ class Client:
160
160
  server_url: str,
161
161
  client_type: int,
162
162
  credentials: typing.Optional[tuple[str, str]],
163
- version: str = "1.0.5.dev19",
163
+ version: str = "1.0.5.dev21",
164
164
  ):
165
165
  """mdmd:hidden
166
166
  The Modal client object is not intended to be instantiated directly by users.
modal/cls.py CHANGED
@@ -54,7 +54,7 @@ def _get_class_constructor_signature(user_cls: type) -> inspect.Signature:
54
54
  return inspect.signature(user_cls)
55
55
  else:
56
56
  constructor_parameters = []
57
- for name, annotation_value in user_cls.__dict__.get("__annotations__", {}).items():
57
+ for name, annotation_value in typing.get_type_hints(user_cls).items():
58
58
  if hasattr(user_cls, name):
59
59
  parameter_spec = getattr(user_cls, name)
60
60
  if is_parameter(parameter_spec):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.5.dev19
3
+ Version: 1.0.5.dev21
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -22,10 +22,10 @@ modal/app.py,sha256=pj-4mpvBR6phFG38rQZ8GM1FIgcaM8cje5d_Vo2_gJU,46602
22
22
  modal/app.pyi,sha256=Z6wi_dkXywiaM2rvAvguj2Wgu9ZgPjMSLl1nH1a7EYI,42243
23
23
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
24
24
  modal/client.py,sha256=OwISJvkgMb-rHm9Gc4i-7YcDgGiZgwJ7F_PzwZH7a6Q,16847
25
- modal/client.pyi,sha256=b3OUFfnXjsMinXJJKjp33EsImA7_Yy42CSf-KzufAqo,15081
25
+ modal/client.pyi,sha256=4V29NEMM3OfwCt7ixyozi51-DU_XkA7adoV3tFh7Hhw,15081
26
26
  modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
27
27
  modal/cloud_bucket_mount.pyi,sha256=-qSfYAQvIoO_l2wsCCGTG5ZUwQieNKXdAO00yP1-LYU,7394
28
- modal/cls.py,sha256=6GMJFnqVm5BqfLbEGWcI7M_QBAuUzn-apB9P1sllI9s,39843
28
+ modal/cls.py,sha256=FzDGWTuDvGhyHyd2gFPYnmJbUqEsCXXgUC4zRPm3rwQ,39830
29
29
  modal/cls.pyi,sha256=_GcB_FSxT51I4VtvSRdak1zDvaPIP3P8cejChF1OhdM,27717
30
30
  modal/config.py,sha256=e8sQ4RgwgJ_45S302vWUWs_wqRlKyEt3tU898RiaDKE,12073
31
31
  modal/container_process.py,sha256=PDvjcyZ6eeN8foKQgR0WJ66Sg3lt7OFhK7Y_Akz6k5w,5846
@@ -99,7 +99,7 @@ modal/_utils/docker_utils.py,sha256=h1uETghR40mp_y3fSWuZAfbIASH1HMzuphJHghAL6DU,
99
99
  modal/_utils/function_utils.py,sha256=QS8cRE0zGerlCW-r5457HXNj5uQM_4SGs7AbQLAtbwA,27319
100
100
  modal/_utils/git_utils.py,sha256=qtUU6JAttF55ZxYq51y55OR58B0tDPZsZWK5dJe6W5g,3182
101
101
  modal/_utils/grpc_testing.py,sha256=H1zHqthv19eGPJz2HKXDyWXWGSqO4BRsxah3L5Xaa8A,8619
102
- modal/_utils/grpc_utils.py,sha256=inJccK9MYCmkyF8SFp86RCw2pZzwvsGk_YaLQ2Bw_H4,11046
102
+ modal/_utils/grpc_utils.py,sha256=aFDJIK3Idn9r0iqLRmQqCKsPhRCueyeaA64mZUvDNKA,11118
103
103
  modal/_utils/hash_utils.py,sha256=zg3J6OGxTFGSFri1qQ12giDz90lWk8bzaxCTUCRtiX4,3034
104
104
  modal/_utils/http_utils.py,sha256=yeTFsXYr0rYMEhB7vBP7audG9Uc7OLhzKBANFDZWVt0,2451
105
105
  modal/_utils/jwt_utils.py,sha256=fxH9plyrbAemTbjSsQtzIdDXE9QXxvMC4DiUZ16G0aA,1360
@@ -147,7 +147,7 @@ modal/requirements/2024.10.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddR
147
147
  modal/requirements/PREVIEW.txt,sha256=KxDaVTOwatHvboDo4lorlgJ7-n-MfAwbPwxJ0zcJqrs,312
148
148
  modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
149
149
  modal/requirements/base-images.json,sha256=f1bwyp2UkM844eoO9Qk30gQw_xrMqKpMSeJ6MErXnEk,995
150
- modal-1.0.5.dev19.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
150
+ modal-1.0.5.dev21.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
151
151
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
152
152
  modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
153
153
  modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
@@ -170,10 +170,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
170
170
  modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
171
171
  modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
172
172
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
- modal_version/__init__.py,sha256=iVQqt9D5tYFLMxXNrFb51PJtd0fX2GkrTYTtWMIcR9s,121
173
+ modal_version/__init__.py,sha256=az2MRXqhtjUo4scYFoEi2zfyuaMUuHBATa8AoeQOHkk,121
174
174
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
175
- modal-1.0.5.dev19.dist-info/METADATA,sha256=iE2BCtkibgQ8e83LTwV1tRLmKs_UGYe3uzmpca0cOZc,2462
176
- modal-1.0.5.dev19.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
177
- modal-1.0.5.dev19.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
178
- modal-1.0.5.dev19.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
179
- modal-1.0.5.dev19.dist-info/RECORD,,
175
+ modal-1.0.5.dev21.dist-info/METADATA,sha256=tcNSebHzC2eDsnO5yciqHFyBN1c8Yo6-jtRyR0uYXfA,2462
176
+ modal-1.0.5.dev21.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
177
+ modal-1.0.5.dev21.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
178
+ modal-1.0.5.dev21.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
179
+ modal-1.0.5.dev21.dist-info/RECORD,,
modal_version/__init__.py CHANGED
@@ -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.0.5.dev19"
4
+ __version__ = "1.0.5.dev21"