modal 1.2.1.dev13__py3-none-any.whl → 1.2.1.dev15__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.

Potentially problematic release.


This version of modal might be problematic. Click here for more details.

@@ -1,5 +1,4 @@
1
1
  import modal.client
2
- import modal_proto.api_pb2
3
2
  import subprocess
4
3
  import typing
5
4
  import typing_extensions
@@ -139,7 +138,7 @@ class _FlashPrometheusAutoscaler:
139
138
  async def start(self): ...
140
139
  async def _run_autoscaler_loop(self): ...
141
140
  async def _compute_target_containers(self, current_replicas: int) -> int:
142
- """Gets internal metrics from container to autoscale up or down."""
141
+ """Gets metrics from container to autoscale up or down."""
143
142
  ...
144
143
 
145
144
  def _calculate_desired_replicas(
@@ -154,13 +153,10 @@ class _FlashPrometheusAutoscaler:
154
153
  ...
155
154
 
156
155
  async def _get_scaling_info(self, containers) -> tuple[float, int]:
157
- """Get metrics using either internal container metrics API or prometheus HTTP endpoints."""
156
+ """Get metrics using container exposed metrics endpoints."""
158
157
  ...
159
158
 
160
159
  async def _get_metrics(self, url: str) -> typing.Optional[dict[str, list[typing.Any]]]: ...
161
- async def _get_container_metrics(
162
- self, container_id: str
163
- ) -> typing.Optional[modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse]: ...
164
160
  async def _get_all_containers(self): ...
165
161
  async def _set_target_slots(self, target_slots: int): ...
166
162
  def _make_scaling_decision(
@@ -226,11 +222,11 @@ class FlashPrometheusAutoscaler:
226
222
 
227
223
  class ___compute_target_containers_spec(typing_extensions.Protocol[SUPERSELF]):
228
224
  def __call__(self, /, current_replicas: int) -> int:
229
- """Gets internal metrics from container to autoscale up or down."""
225
+ """Gets metrics from container to autoscale up or down."""
230
226
  ...
231
227
 
232
228
  async def aio(self, /, current_replicas: int) -> int:
233
- """Gets internal metrics from container to autoscale up or down."""
229
+ """Gets metrics from container to autoscale up or down."""
234
230
  ...
235
231
 
236
232
  _compute_target_containers: ___compute_target_containers_spec[typing_extensions.Self]
@@ -248,11 +244,11 @@ class FlashPrometheusAutoscaler:
248
244
 
249
245
  class ___get_scaling_info_spec(typing_extensions.Protocol[SUPERSELF]):
250
246
  def __call__(self, /, containers) -> tuple[float, int]:
251
- """Get metrics using either internal container metrics API or prometheus HTTP endpoints."""
247
+ """Get metrics using container exposed metrics endpoints."""
252
248
  ...
253
249
 
254
250
  async def aio(self, /, containers) -> tuple[float, int]:
255
- """Get metrics using either internal container metrics API or prometheus HTTP endpoints."""
251
+ """Get metrics using container exposed metrics endpoints."""
256
252
  ...
257
253
 
258
254
  _get_scaling_info: ___get_scaling_info_spec[typing_extensions.Self]
@@ -263,16 +259,6 @@ class FlashPrometheusAutoscaler:
263
259
 
264
260
  _get_metrics: ___get_metrics_spec[typing_extensions.Self]
265
261
 
266
- class ___get_container_metrics_spec(typing_extensions.Protocol[SUPERSELF]):
267
- def __call__(
268
- self, /, container_id: str
269
- ) -> typing.Optional[modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse]: ...
270
- async def aio(
271
- self, /, container_id: str
272
- ) -> typing.Optional[modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse]: ...
273
-
274
- _get_container_metrics: ___get_container_metrics_spec[typing_extensions.Self]
275
-
276
262
  class ___get_all_containers_spec(typing_extensions.Protocol[SUPERSELF]):
277
263
  def __call__(self, /): ...
278
264
  async def aio(self, /): ...
modal/sandbox.py CHANGED
@@ -870,6 +870,7 @@ class _Sandbox(_Object, type_prefix="sb"):
870
870
  logger.debug(f"Created ContainerProcess for exec_id {resp.exec_id} on Sandbox {self.object_id}")
871
871
  return _ContainerProcess(
872
872
  resp.exec_id,
873
+ task_id,
873
874
  self._client,
874
875
  stdout=stdout,
875
876
  stderr=stderr,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.2.1.dev13
3
+ Version: 1.2.1.dev15
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -24,14 +24,14 @@ modal/app.pyi,sha256=AUV5Rp8qQrZJTP2waoKHFY7rYgsXNMYibMcCAQKuSeo,50544
24
24
  modal/billing.py,sha256=zmQ3bcCJlwa4KD1IA_QgdWpm1pn13c-7qfy79iEauYI,195
25
25
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
26
26
  modal/client.py,sha256=kyAIVB3Ay-XKJizQ_1ufUFB__EagV0MLmHJpyYyJ7J0,18636
27
- modal/client.pyi,sha256=ly6S74QtNMbeJ0kqCRdVsoppgC7cgA_gFuw9Zd6H0UI,15831
27
+ modal/client.pyi,sha256=UGtqk5bx_bnjPg7uudfmO0QmKws4uCbox7LUe-OzS98,15831
28
28
  modal/cloud_bucket_mount.py,sha256=I2GRXYhOWLIz2kJZjXu75jAm9EJkBNcutGc6jR2ReUw,5928
29
29
  modal/cloud_bucket_mount.pyi,sha256=VuUOipMIHqFXMkD-3g2bsoqpSxV5qswlFHDOqPQzYAo,7405
30
30
  modal/cls.py,sha256=ZxzivE3fNci4-A5uyBYNAzXMXtdqDg3gnYvgbdy5fhg,40384
31
31
  modal/cls.pyi,sha256=jJsDPFoqzM4ht-V-e-xEJKJ5TINLF0fYtoBm_UeAW5Y,27281
32
32
  modal/config.py,sha256=hpgkgQKbjzo6gVbRzXQrky72_KpdSEm65RNi1M2iNjc,13038
33
- modal/container_process.py,sha256=DnqlgHiM-7rgVdJNcaXyZlXFD6DFLxEgMSFkieQ6Oj0,7452
34
- modal/container_process.pyi,sha256=9m-st3hCUlNN1GOTctfPPvIvoLtEl7FbuGWwif5-7YU,6037
33
+ modal/container_process.py,sha256=X5gkIpXeoeaRemrOFHIpI2XYSVq5NmP7iP54cTqvMFE,16643
34
+ modal/container_process.pyi,sha256=raXBD-ImyYUum4UtgEXCgTGuZoWQ7SriDkRuD91Nfuc,8296
35
35
  modal/dict.py,sha256=XkaxuojMVtcc4bZvCjJcd6DedU5xxfF8H4w-mDzFPCo,21580
36
36
  modal/dict.pyi,sha256=deOiwuwZtwXqedC3h19SwoQIWc4mUnDTBM5XkONt48Y,31712
37
37
  modal/environments.py,sha256=xXYDfgzd20CuFdww_zQ53OB0qANQG-j_ls_fT7mGdoQ,6028
@@ -67,7 +67,7 @@ modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
67
67
  modal/runner.py,sha256=Ni54hwa42SEBxLPpqFwKMsUPYY8Dv-I-Kz3_jL1StCI,25220
68
68
  modal/runner.pyi,sha256=DV3Z7h0owgRyOu9W5KU5O3UbRftX99KGrZQId91fpsU,8671
69
69
  modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
70
- modal/sandbox.py,sha256=R1WOFDTmg_SiG7NIEbzQMeTYHwLvX9r3j9lpINhIufc,45970
70
+ modal/sandbox.py,sha256=TVENhuPVJXu3RiOKkqSKVWMnHTP7zMUO61StZ2-Ldb8,45991
71
71
  modal/sandbox.pyi,sha256=elVE1xEy_ZhD009oNPnCwlZi4tK-RUb1qAoxkVteG9E,50713
72
72
  modal/schedule.py,sha256=ng0g0AqNY5GQI9KhkXZQ5Wam5G42glbkqVQsNpBtbDE,3078
73
73
  modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
@@ -113,7 +113,7 @@ modal/_utils/package_utils.py,sha256=LcL2olGN4xaUzu2Tbv-C-Ft9Qp6bsLxEfETOAVd-mjU
113
113
  modal/_utils/pattern_utils.py,sha256=ZUffaECfe2iYBhH6cvCB-0-UWhmEBTZEl_TwG_So3ag,6714
114
114
  modal/_utils/rand_pb_testing.py,sha256=mmVPk1rZldHwHZx0DnHTuHQlRLAiiAYdxjwEJpxvT9c,3900
115
115
  modal/_utils/shell_utils.py,sha256=hWHzv730Br2Xyj6cGPiMZ-198Z3RZuOu3pDXhFSZ22c,2157
116
- modal/_utils/task_command_router_client.py,sha256=EABQz9A-WX_O2OnvPWepxQJ1Nu9U8wd8yfj3f6br1hc,22859
116
+ modal/_utils/task_command_router_client.py,sha256=c8WD8DHkQ91lcMb9M_8eBj-NFm6cxeZSv_hgJjRfpJo,23577
117
117
  modal/_utils/time_utils.py,sha256=43tpFVwT7ykOjlETIFLVt9auMsRZqYYRYBEKxGCrRSA,1212
118
118
  modal/_vendor/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
119
119
  modal/_vendor/a2wsgi_wsgi.py,sha256=Q1AsjpV_Q_vzQsz_cSqmP9jWzsGsB-ARFU6vpQYml8k,21878
@@ -131,9 +131,9 @@ modal/cli/__init__.py,sha256=6FRleWQxBDT19y7OayO4lBOzuL6Bs9r0rLINYYYbHwQ,769
131
131
  modal/cli/_download.py,sha256=_Q_CG1Qb4cjVSAwHGGPOPoNTsmK9gHvF-HNWCNdFjaY,4900
132
132
  modal/cli/_traceback.py,sha256=IKj9xtc6LjAxyhGJWolNIXEX3MhAIulnRqywZNOFmkU,7324
133
133
  modal/cli/app.py,sha256=rbuAG92my-1eZN0olk6p2eD4oBnyBliUsrCOUW-U-9k,7832
134
- modal/cli/cluster.py,sha256=MMdFXqyOOeNO7P2VIUN78xKJLvesLIy_28Dt56XEXhM,3307
134
+ modal/cli/cluster.py,sha256=BLcKDpwpDmlqE2UC4V0qNpJKiQ-ZXfI9g_SE7u6vnIU,3347
135
135
  modal/cli/config.py,sha256=lhp2Pq4RbTDhaZJ-ZJvhrMqJj8c-WjuRX6gjE3TrvXc,1691
136
- modal/cli/container.py,sha256=9Ti-TIZ6vjDSmn9mk9h6SRwyhkQjtwirBN18LjpLyvE,3719
136
+ modal/cli/container.py,sha256=IdJ07p7hwFGXz3oYB__NYilucWpVv-K1JL3QKduu7ok,3769
137
137
  modal/cli/dict.py,sha256=YAJtiv41YcCd5Fqam3hXCNTs4Y0yOgGR_i6RfQNSAFM,4572
138
138
  modal/cli/entry_point.py,sha256=F06p54rPOs1xAUeYW76RaimFOgLW_I17RCvNwfZRqPc,4747
139
139
  modal/cli/environment.py,sha256=LGBq8RVQjfBH3EWz8QgmYe19UO66JKSDNxOXMUjw7JM,4285
@@ -153,10 +153,10 @@ modal/cli/programs/run_jupyter.py,sha256=IJw8nds8Cjl9j4dxBqMGxhz-bIyVX0kle7jbt8H
153
153
  modal/cli/programs/run_marimo.py,sha256=QlCGPkwQ0XLajt2LtujR_BGsRV1AZ3OCUgZxkkM1lug,2893
154
154
  modal/cli/programs/vscode.py,sha256=E1aJPU7b8RWWj-JX71DifsCoLYsCAnre7lATiBJjUms,3386
155
155
  modal/experimental/__init__.py,sha256=9gkVuDmu3m4TlKoU3MzEtTOemUSs8EEOWba40s7Aa0M,14043
156
- modal/experimental/flash.py,sha256=C4sef08rARYFllsgtqukFmYL18SZW0_JpMS0BejDcUs,28552
157
- modal/experimental/flash.pyi,sha256=vV_OQhtdrPn8SW0XrBK-aLLHHIvxAzLzwFbWrke-m74,15463
156
+ modal/experimental/flash.py,sha256=-lSyFBbeT6UT-uB29L955SNh6L6ISg_uBDy5gF4ZpLo,26919
157
+ modal/experimental/flash.pyi,sha256=uwinKAYxpunNNfBj58FP88DXb535Qik4F6tnJKPAIwQ,14696
158
158
  modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
159
- modal-1.2.1.dev13.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
159
+ modal-1.2.1.dev15.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
160
160
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
161
161
  modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
162
162
  modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
@@ -164,13 +164,13 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
164
164
  modal_docs/mdmd/mdmd.py,sha256=tUTImNd4UMFk1opkaw8J672gX8AkBO5gbY2S_NMxsxs,7140
165
165
  modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
166
166
  modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
167
- modal_proto/api.proto,sha256=yYsIf0_6hfT98xBHfad82fBDAfW7Wcip5g74MZMNNwE,108935
168
- modal_proto/api_grpc.py,sha256=JYmHBCRazCqwFsSpNMK2kKk8UCGVXi2E9XHJvT6NpSI,135300
169
- modal_proto/api_pb2.py,sha256=h31c6JqkcvmuFVebu5oEa2FbZTlbOSCanTZdD0yeubU,381165
170
- modal_proto/api_pb2.pyi,sha256=w8xScmbhxUDCV6yTk9baT6u9h7WLyeTktFqASoyHSb0,532300
171
- modal_proto/api_pb2_grpc.py,sha256=AIj7DOISi5pKqmXm9APOyrFSW1-8-V5peGebtnMHCeo,291495
172
- modal_proto/api_pb2_grpc.pyi,sha256=1TXj_sL24TSMit0wL5ScIytnHoD5RI0DT5O1vqOLLYM,68293
173
- modal_proto/modal_api_grpc.py,sha256=qbz7Ssx_kvfy28aeFLLXLFdoS5dY4OHVrgLcS5rDXKc,20388
167
+ modal_proto/api.proto,sha256=GYn-HjF_vc7Y4_BvHZBCG-c9ZJU0CWnyX_Lk973J2Pw,108645
168
+ modal_proto/api_grpc.py,sha256=vwC-GjejDKWbG5jRN3rkU8WBSqQ8Pdj-T2E2xAECAUw,134411
169
+ modal_proto/api_pb2.py,sha256=EtmyiWUznFw_YzPhrw9U4SuXuDsAgZigozbPR4n4TG4,379625
170
+ modal_proto/api_pb2.pyi,sha256=77N3MpNhleBngbyMkph2w87IZmj9DVxhJ1Ezc1Aosmw,531180
171
+ modal_proto/api_pb2_grpc.py,sha256=Hqw9jcbhpr-W6jsfog_tGU55ouZjITxGvA-DGNBqOLA,289714
172
+ modal_proto/api_pb2_grpc.pyi,sha256=QLJ58ANCx147HeGJva58h0MTCLIDs9JmVjrx8bDdwlg,67776
173
+ modal_proto/modal_api_grpc.py,sha256=ME4PoI4cm7_Tpi3duU6-0O5LwhbYKrgJ5n3ijWgeNss,20256
174
174
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
175
  modal_proto/sandbox_router.proto,sha256=o6LZWekz2h7uAhBlHcu_EqXnc5ptxm-4j_ZUFVGAJFk,5161
176
176
  modal_proto/sandbox_router_grpc.py,sha256=27daOTX2N5hADDG-5Qnn4Yj3VfekyJwrDUkrQ12mPuU,5004
@@ -184,10 +184,10 @@ modal_proto/task_command_router_pb2.py,sha256=_pD2ZpU0bNzhwBdzmLoLyLtAtftI_Agxwn
184
184
  modal_proto/task_command_router_pb2.pyi,sha256=EyDgXPLr7alqjXYERV8w_MPuO404x0uCppmSkrfE9IE,14589
185
185
  modal_proto/task_command_router_pb2_grpc.py,sha256=uEQ0HdrCp8v-9bB5yIic9muA8spCShLHY6Bz9cCgOUE,10114
186
186
  modal_proto/task_command_router_pb2_grpc.pyi,sha256=s3Yxsrawdj4nr8vqQqsAxyX6ilWaGbdECy425KKbLIA,3301
187
- modal_version/__init__.py,sha256=BvNzpPJEyoSPk632gFDNj08JAPD46g42lR-teo7dEP8,121
187
+ modal_version/__init__.py,sha256=vkq2oCnafaqr6nqiR7nHb8JclOJLXYMcCph81nNMr3o,121
188
188
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
189
- modal-1.2.1.dev13.dist-info/METADATA,sha256=4JrQuKWcdeqkB350h27KFdy5O4gp4c4rk8EBdsBKSz0,2484
190
- modal-1.2.1.dev13.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
191
- modal-1.2.1.dev13.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
192
- modal-1.2.1.dev13.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
193
- modal-1.2.1.dev13.dist-info/RECORD,,
189
+ modal-1.2.1.dev15.dist-info/METADATA,sha256=er7pk05y0NA4kL_o8Jd0mYSzjqNc54yCFsz_vXY60u4,2484
190
+ modal-1.2.1.dev15.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
191
+ modal-1.2.1.dev15.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
192
+ modal-1.2.1.dev15.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
193
+ modal-1.2.1.dev15.dist-info/RECORD,,
modal_proto/api.proto CHANGED
@@ -3143,14 +3143,6 @@ message TaskCurrentInputsResponse {
3143
3143
  repeated string input_ids = 1;
3144
3144
  }
3145
3145
 
3146
- message TaskGetAutoscalingMetricsRequest {
3147
- string task_id = 1;
3148
- }
3149
-
3150
- message TaskGetAutoscalingMetricsResponse {
3151
- AutoscalingMetrics metrics = 1;
3152
- }
3153
-
3154
3146
  // Used to get a JWT and URL for direct access to a task command router
3155
3147
  // running on the modal-worker, so the client can issue exec commands (and other
3156
3148
  // operations as they become available) directly to the worker.
@@ -3778,7 +3770,6 @@ service ModalClient {
3778
3770
  // Tasks
3779
3771
  rpc TaskClusterHello(TaskClusterHelloRequest) returns (TaskClusterHelloResponse);
3780
3772
  rpc TaskCurrentInputs(google.protobuf.Empty) returns (TaskCurrentInputsResponse);
3781
- rpc TaskGetAutoscalingMetrics(TaskGetAutoscalingMetricsRequest) returns (TaskGetAutoscalingMetricsResponse); // Used for flash autoscaling
3782
3773
  rpc TaskGetCommandRouterAccess(TaskGetCommandRouterAccessRequest) returns (TaskGetCommandRouterAccessResponse);
3783
3774
  rpc TaskList(TaskListRequest) returns (TaskListResponse);
3784
3775
  rpc TaskResult(TaskResultRequest) returns (google.protobuf.Empty);
modal_proto/api_grpc.py CHANGED
@@ -610,10 +610,6 @@ class ModalClientBase(abc.ABC):
610
610
  async def TaskCurrentInputs(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.TaskCurrentInputsResponse]') -> None:
611
611
  pass
612
612
 
613
- @abc.abstractmethod
614
- async def TaskGetAutoscalingMetrics(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest, modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse]') -> None:
615
- pass
616
-
617
613
  @abc.abstractmethod
618
614
  async def TaskGetCommandRouterAccess(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TaskGetCommandRouterAccessRequest, modal_proto.api_pb2.TaskGetCommandRouterAccessResponse]') -> None:
619
615
  pass
@@ -1608,12 +1604,6 @@ class ModalClientBase(abc.ABC):
1608
1604
  google.protobuf.empty_pb2.Empty,
1609
1605
  modal_proto.api_pb2.TaskCurrentInputsResponse,
1610
1606
  ),
1611
- '/modal.client.ModalClient/TaskGetAutoscalingMetrics': grpclib.const.Handler(
1612
- self.TaskGetAutoscalingMetrics,
1613
- grpclib.const.Cardinality.UNARY_UNARY,
1614
- modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
1615
- modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse,
1616
- ),
1617
1607
  '/modal.client.ModalClient/TaskGetCommandRouterAccess': grpclib.const.Handler(
1618
1608
  self.TaskGetCommandRouterAccess,
1619
1609
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -2664,12 +2654,6 @@ class ModalClientStub:
2664
2654
  google.protobuf.empty_pb2.Empty,
2665
2655
  modal_proto.api_pb2.TaskCurrentInputsResponse,
2666
2656
  )
2667
- self.TaskGetAutoscalingMetrics = grpclib.client.UnaryUnaryMethod(
2668
- channel,
2669
- '/modal.client.ModalClient/TaskGetAutoscalingMetrics',
2670
- modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
2671
- modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse,
2672
- )
2673
2657
  self.TaskGetCommandRouterAccess = grpclib.client.UnaryUnaryMethod(
2674
2658
  channel,
2675
2659
  '/modal.client.ModalClient/TaskGetCommandRouterAccess',