modal 1.0.5.dev10__py3-none-any.whl → 1.0.5.dev12__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.
@@ -603,6 +603,14 @@ class FunctionCreationStatus:
603
603
  f"Custom domain for {self.tag} => [magenta underline]{custom_domain.url}[/magenta underline]"
604
604
  )
605
605
 
606
+ elif self.response.function.flash_service_urls:
607
+ for flash_service_url in self.response.function.flash_service_urls:
608
+ flash_service_url_status_row = self.resolver.add_status_row()
609
+ flash_service_url_status_row.finish(
610
+ f"Created flash service endpoint for {self.tag} => "
611
+ f"[magenta underline]{flash_service_url}[/magenta underline]"
612
+ )
613
+
606
614
  else:
607
615
  for warning in self.response.server_warnings:
608
616
  self.status_row.warning(warning)
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.dev10",
34
+ version: str = "1.0.5.dev12",
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.dev10",
163
+ version: str = "1.0.5.dev12",
164
164
  ):
165
165
  """mdmd:hidden
166
166
  The Modal client object is not intended to be instantiated directly by users.
@@ -224,7 +224,13 @@ class _FlashManager:
224
224
  async def _start(self):
225
225
  tunnel = await self.tunnel_manager.__aenter__()
226
226
 
227
- host, port = tunnel.url.split("://")[1].split(":")
227
+ hostname = tunnel.url.split("://")[1]
228
+ if ":" in hostname:
229
+ host, port = hostname.split(":")
230
+ else:
231
+ host = hostname
232
+ port = "443"
233
+
228
234
  self.heartbeat_task = asyncio.create_task(self._run_heartbeat(host, int(port)))
229
235
 
230
236
  async def _run_heartbeat(self, host: str, port: int):
@@ -238,7 +244,7 @@ class _FlashManager:
238
244
  host=host,
239
245
  port=port,
240
246
  ),
241
- timeout=1,
247
+ timeout=10,
242
248
  )
243
249
  if first_registration:
244
250
  logger.warning(f"[Modal Flash] Listening at {resp.url}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.5.dev10
3
+ Version: 1.0.5.dev12
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 @@ 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=T1F26WrBQ3ZFILDxqq4t9b0GAyFe_p8dB5HzgllZAnY,15081
25
+ modal/client.pyi,sha256=RyhINr57LjX0phFU5YEFdekJnQTOBFuHzejl1FZhSDg,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
28
  modal/cls.py,sha256=6GMJFnqVm5BqfLbEGWcI7M_QBAuUzn-apB9P1sllI9s,39843
@@ -96,7 +96,7 @@ modal/_utils/blob_utils.py,sha256=IexC2Jbtqp_Tkmy62ayfgzTYte0UPCNufB_v-DO21g8,18
96
96
  modal/_utils/bytes_io_segment_payload.py,sha256=vaXPq8b52-x6G2hwE7SrjS58pg_aRm7gV3bn3yjmTzQ,4261
97
97
  modal/_utils/deprecation.py,sha256=EXP1beU4pmEqEzWMLw6E3kUfNfpmNA_VOp6i0EHi93g,4856
98
98
  modal/_utils/docker_utils.py,sha256=h1uETghR40mp_y3fSWuZAfbIASH1HMzuphJHghAL6DU,3722
99
- modal/_utils/function_utils.py,sha256=cc1QQ5s_Y-5mlLa2wzZ6NF6cH2k8asaDHerASUqI7FU,26878
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
102
  modal/_utils/grpc_utils.py,sha256=xSFosSJYQ4m6cH9WtChcSXqsnyk6DMeVvOHI4N3914g,10922
@@ -138,7 +138,7 @@ modal/cli/volume.py,sha256=KJ4WKQYjRGsTERkwHE1HcRia9rWzLIDDnlc89QmTLvE,10960
138
138
  modal/cli/programs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
139
139
  modal/cli/programs/run_jupyter.py,sha256=44Lpvqk2l3hH-uOkmAOzw60NEsfB5uaRDWDKVshvQhs,2682
140
140
  modal/cli/programs/vscode.py,sha256=KbTAaIXyQBVCDXxXjmBHmKpgXkUw0q4R4KkJvUjCYgk,3380
141
- modal/experimental/__init__.py,sha256=lmhu5bFoIUSbq5TVTc0S6ZBb5Q-xZKy_PCVngIGd26I,10833
141
+ modal/experimental/__init__.py,sha256=o3jzJJk1smlYSS_l56Pnxm1OrSsqABIlxTcyWI243xo,10962
142
142
  modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
143
143
  modal/requirements/2023.12.312.txt,sha256=zWWUVgVQ92GXBKNYYr2-5vn9rlnXcmkqlwlX5u1eTYw,400
144
144
  modal/requirements/2023.12.txt,sha256=OjsbXFkCSdkzzryZP82Q73osr5wxQ6EUzmGcK7twfkA,502
@@ -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.dev10.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
150
+ modal-1.0.5.dev12.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
@@ -155,10 +155,10 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
155
155
  modal_docs/mdmd/mdmd.py,sha256=Irx49MCCTlBOP4FBdLR--JrpA3-WhsVeriq0LGgsRic,6232
156
156
  modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
157
157
  modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
158
- modal_proto/api.proto,sha256=i-ETZCN-HofvuOxK-0TQ9V0lYpCOyREEUg3VxuUfjJY,97293
158
+ modal_proto/api.proto,sha256=qJTU1xCvCEO-h_l9hjiFPsyW3V1PW7KDgCpgEllVO9A,97381
159
159
  modal_proto/api_grpc.py,sha256=KR3X2FZiKjJuistRWzsBsDi8DKeIlKJJ2iPPbzltDJg,119140
160
- modal_proto/api_pb2.py,sha256=QruoJk16KzDhNut2aoANMPpnj2KCt_EBvQU5gsAIq88,342410
161
- modal_proto/api_pb2.pyi,sha256=zTjXqsw79xO2EkzVWaspD-skxW8JrK0PJUM5BlAmXZA,468320
160
+ modal_proto/api_pb2.py,sha256=cEpUIsmfV6DgmucG0d-q2FfwetnAgdGbZuN0YW7_0Ns,342507
161
+ modal_proto/api_pb2.pyi,sha256=3XxsThONOhRTnipx2zYDPdFwoEKVqKfvatw7VoaWSWQ,468940
162
162
  modal_proto/api_pb2_grpc.py,sha256=xRO6E7F9wSeE75T2NW_EVSN0JHUkCz-qQDgPMTG1x0o,257566
163
163
  modal_proto/api_pb2_grpc.pyi,sha256=pCgIpIcJnEoWnh1Bu1LT62-oesNHN-XyQJaZzxRNeB4,60334
164
164
  modal_proto/modal_api_grpc.py,sha256=Vc2BoHcB6hV2GlkwvpB5yBfeJT72dxQ6-VMUhbPD-0U,18019
@@ -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=JSMwaNXk5-V1fjFndXUHI51gfY_IwuoLQ-kFSo_71J0,121
173
+ modal_version/__init__.py,sha256=u97L3xM4ENzV-4-q6WuglzrqS67y1wppVs6cD2TdMQw,121
174
174
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
175
- modal-1.0.5.dev10.dist-info/METADATA,sha256=viMvvnbKrrT3p_5zNJPSn1AeerXaz5hu_XsI8aKRFwY,2455
176
- modal-1.0.5.dev10.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
177
- modal-1.0.5.dev10.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
178
- modal-1.0.5.dev10.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
179
- modal-1.0.5.dev10.dist-info/RECORD,,
175
+ modal-1.0.5.dev12.dist-info/METADATA,sha256=fKsck7BVEYtGYxzRIq_o7Cb34KU6-F5V5tflxzYG6ZU,2455
176
+ modal-1.0.5.dev12.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
177
+ modal-1.0.5.dev12.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
178
+ modal-1.0.5.dev12.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
179
+ modal-1.0.5.dev12.dist-info/RECORD,,
modal_proto/api.proto CHANGED
@@ -1412,6 +1412,8 @@ message Function {
1412
1412
  // If set, client deps will be mounted into the container, and are
1413
1413
  // no longer expected to exist in the image itself.
1414
1414
  bool mount_client_dependencies = 82;
1415
+
1416
+ repeated string flash_service_urls = 83;
1415
1417
  }
1416
1418
 
1417
1419
  message FunctionAsyncInvokeRequest {
@@ -1564,6 +1566,8 @@ message FunctionData {
1564
1566
  FunctionSchema function_schema = 32;
1565
1567
 
1566
1568
  map<string, string> experimental_options = 33;
1569
+
1570
+ repeated string flash_service_urls = 34;
1567
1571
  }
1568
1572
 
1569
1573
  message FunctionExtended {