modAL 1.6.2.dev12__py3-none-any.whl → 1.6.2.dev13__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.
modal/cli/dict.py CHANGED
@@ -8,7 +8,7 @@ from modal._load_context import LoadContext
8
8
  from modal._resolver import Resolver
9
9
  from modal._utils.async_utils import TaskContext, synchronizer
10
10
  from modal._utils.time_utils import timestamp_to_localized_str
11
- from modal.cli.utils import display_table, env_option, yes_option
11
+ from modal.cli.utils import confirm_or_suggest_yes, display_table, env_option, yes_option
12
12
  from modal.client import _Client
13
13
  from modal.dict import _Dict
14
14
  from modal.output import OutputManager
@@ -64,10 +64,8 @@ async def clear(name: str, *, yes: bool = False, env: str | None = None):
64
64
  """Clear the contents of a named Dict by deleting all of its data."""
65
65
  d = _Dict.from_name(name, environment_name=env)
66
66
  if not yes:
67
- click.confirm(
67
+ confirm_or_suggest_yes(
68
68
  f"Are you sure you want to irrevocably delete the contents of modal.Dict '{name}'?",
69
- default=False,
70
- abort=True,
71
69
  )
72
70
  await d.clear()
73
71
 
@@ -87,10 +85,8 @@ async def delete(
87
85
  ):
88
86
  """Delete a named Dict and all of its data."""
89
87
  if not yes:
90
- click.confirm(
88
+ confirm_or_suggest_yes(
91
89
  f"Are you sure you want to irrevocably delete the modal.Dict '{name}'?",
92
- default=False,
93
- abort=True,
94
90
  )
95
91
  await _Dict.objects.delete(name, environment_name=env, allow_missing=allow_missing)
96
92
 
@@ -14,7 +14,7 @@ from modal._location import display_location
14
14
  from modal._utils.async_utils import synchronizer
15
15
  from modal._utils.time_utils import timestamp_to_localized_str
16
16
  from modal.cli._download import _volume_download
17
- from modal.cli.utils import display_table, env_option, yes_option
17
+ from modal.cli.utils import confirm_or_suggest_yes, display_table, env_option, yes_option
18
18
  from modal.client import _Client
19
19
  from modal.network_file_system import _NetworkFileSystem
20
20
  from modal.output import OutputManager
@@ -86,10 +86,8 @@ async def delete(
86
86
  # Lookup first to validate the name, even though delete is a staticmethod
87
87
  await _NetworkFileSystem.from_name(nfs_name, environment_name=env).hydrate()
88
88
  if not yes:
89
- click.confirm(
89
+ confirm_or_suggest_yes(
90
90
  f"Are you sure you want to irrevocably delete the modal.NetworkFileSystem '{nfs_name}'?",
91
- default=False,
92
- abort=True,
93
91
  )
94
92
 
95
93
  await _NetworkFileSystem.delete(nfs_name, environment_name=env)
modal/cli/queues.py CHANGED
@@ -8,7 +8,7 @@ from modal._load_context import LoadContext
8
8
  from modal._resolver import Resolver
9
9
  from modal._utils.async_utils import TaskContext, synchronizer
10
10
  from modal._utils.time_utils import timestamp_to_localized_str
11
- from modal.cli.utils import display_table, env_option, yes_option
11
+ from modal.cli.utils import confirm_or_suggest_yes, display_table, env_option, yes_option
12
12
  from modal.client import _Client
13
13
  from modal.output import OutputManager
14
14
  from modal.queue import _Queue
@@ -127,10 +127,8 @@ async def clear(
127
127
  """Clear the contents of a Queue by removing all of its data."""
128
128
  q = _Queue.from_name(name, environment_name=env)
129
129
  if not yes:
130
- click.confirm(
130
+ confirm_or_suggest_yes(
131
131
  f"Are you sure you want to irrevocably delete the contents of modal.Queue '{name}'?",
132
- default=False,
133
- abort=True,
134
132
  )
135
133
  await q.clear(partition=partition, all=all)
136
134
 
@@ -151,10 +149,8 @@ async def delete(
151
149
  """Delete a named Queue and all of its data."""
152
150
  env = ensure_env(env)
153
151
  if not yes:
154
- click.confirm(
152
+ confirm_or_suggest_yes(
155
153
  f"Are you sure you want to irrevocably delete the modal.Queue '{name}'?",
156
- default=False,
157
- abort=True,
158
154
  )
159
155
  await _Queue.objects.delete(name, environment_name=env, allow_missing=allow_missing)
160
156
 
modal/cli/secret.py CHANGED
@@ -13,7 +13,7 @@ from rich.syntax import Syntax
13
13
  from modal._environments import ensure_env
14
14
  from modal._utils.async_utils import synchronizer
15
15
  from modal._utils.time_utils import timestamp_to_localized_str
16
- from modal.cli.utils import display_table, env_option, yes_option
16
+ from modal.cli.utils import confirm_or_suggest_yes, display_table, env_option, yes_option
17
17
  from modal.client import _Client
18
18
  from modal.output import OutputManager
19
19
  from modal.secret import _Secret
@@ -194,10 +194,8 @@ async def delete(
194
194
  ):
195
195
  env = ensure_env(env)
196
196
  if not yes:
197
- click.confirm(
197
+ confirm_or_suggest_yes(
198
198
  f"Are you sure you want to irrevocably delete the modal.Secret '{name}'?",
199
- default=False,
200
- abort=True,
201
199
  )
202
200
  await _Secret.objects.delete(name, environment_name=env, allow_missing=allow_missing)
203
201
 
modal/cli/volume.py CHANGED
@@ -13,7 +13,7 @@ from modal._utils.async_utils import synchronizer
13
13
  from modal._utils.browser_utils import open_url_and_display
14
14
  from modal._utils.time_utils import timestamp_to_localized_str
15
15
  from modal.cli._download import _volume_download
16
- from modal.cli.utils import display_table, env_option, humanize_filesize, yes_option
16
+ from modal.cli.utils import confirm_or_suggest_yes, display_table, env_option, humanize_filesize, yes_option
17
17
  from modal.output import OutputManager
18
18
  from modal.volume import _AbstractVolumeUploadContextManager, _Volume
19
19
  from modal_proto import api_pb2
@@ -81,10 +81,8 @@ async def rename(
81
81
  env: str | None = None,
82
82
  ):
83
83
  if not yes:
84
- click.confirm(
84
+ confirm_or_suggest_yes(
85
85
  f"Are you sure you want rename the modal.Volume '{old_name}'? This may break any Apps currently using it.",
86
- default=False,
87
- abort=True,
88
86
  )
89
87
 
90
88
  await _Volume.rename(old_name, new_name, environment_name=env)
@@ -132,10 +130,8 @@ async def delete(
132
130
  ):
133
131
  env = ensure_env(env)
134
132
  if not yes:
135
- click.confirm(
133
+ confirm_or_suggest_yes(
136
134
  f"Are you sure you want to irrevocably delete the modal.Volume '{name}'?",
137
- default=False,
138
- abort=True,
139
135
  )
140
136
 
141
137
  await _Volume.objects.delete(name, environment_name=env, allow_missing=allow_missing)
modal/client.pyi CHANGED
@@ -80,7 +80,7 @@ class _Client:
80
80
  server_url: str,
81
81
  client_type: int,
82
82
  credentials: typing.Optional[tuple[str, str]],
83
- version: str = "1.6.2.dev12",
83
+ version: str = "1.6.2.dev13",
84
84
  *,
85
85
  oauth_credentials: typing.Optional[_OAuthCredentials] = None,
86
86
  ):
@@ -290,7 +290,7 @@ class Client:
290
290
  server_url: str,
291
291
  client_type: int,
292
292
  credentials: typing.Optional[tuple[str, str]],
293
- version: str = "1.6.2.dev12",
293
+ version: str = "1.6.2.dev13",
294
294
  *,
295
295
  oauth_credentials: typing.Optional[_OAuthCredentials] = None,
296
296
  ):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.6.2.dev12
3
+ Version: 1.6.2.dev13
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -39,7 +39,7 @@ modal/billing.py,sha256=E1-P_P8bJFLp-bTaggYd4BaaViImPB5UdtXiY8VeAZQ,390
39
39
  modal/billing.pyi,sha256=4m7VLYNS8IiJ2I3CJx0awvrOM6BILWRVLfdeqtAYr8M,7189
40
40
  modal/call_graph.py,sha256=XGALIDn1bLchWo_goyX23bcPjzCZcfqKUo8INIfDapo,1775
41
41
  modal/client.py,sha256=cstrL0wpXCZmcvRs7Sy3QRw9Vz8zkZy8NNk0tPe38sk,22852
42
- modal/client.pyi,sha256=kHcbwHUBUE95wrRsWhYh053X0rqZ4M3X7fxLKYSl57A,23490
42
+ modal/client.pyi,sha256=dl4snAxp3rWNtffvDXkYtKXENrw6ygCSy0lFb03BbdA,23490
43
43
  modal/cloud_bucket_mount.py,sha256=ZOg69dhIFcJcwim4JP-6s1tqwOYAfgS9806jRpspifw,7511
44
44
  modal/cloud_bucket_mount.pyi,sha256=HoPe_NG5jYdVfmTNY-ZJ3-C8Eo_FzJovl9orJRjkGbE,10252
45
45
  modal/cls.py,sha256=JfDAUMrkhasm26lK7kDUNarXZA_7AvZrymf7XNSGTDM,41777
@@ -169,7 +169,7 @@ modal/cli/config.py,sha256=mwV5maANztDnaIU44qN-Pwg2Z6hGPPeLjIQsWZr1fuY,2431
169
169
  modal/cli/container.py,sha256=uyRR08kwfeLwaItljxjZYO59KAEAYAWq6Tk9ZkG_Xjg,12479
170
170
  modal/cli/curl.py,sha256=FIT0wCwmpOt1AgGfKsSqWOnei-eDv-KMnt5hdg9_DUY,4524
171
171
  modal/cli/dashboard.py,sha256=6V8BLYIooToNRM83PRAWaw1imxED3AzmApYNNti-pJk,917
172
- modal/cli/dict.py,sha256=m6JL4QCcPjCidK-qonYvq97qzRRb-F5spUI5PvVCa3Y,5152
172
+ modal/cli/dict.py,sha256=BycKjj8sxnj0KbsTPXReUlTYsxTGiGxcwBKAHKLd7W4,5092
173
173
  modal/cli/endpoint.py,sha256=grS3cQCNw2qhnczirDoYCiBEnUXp3paPK_4MVSZk7gA,28642
174
174
  modal/cli/entry_point.py,sha256=Sy9w9C2RHG9XDalJ0Fjwr4yQc4dTEL9gVNQuDrj3woI,5050
175
175
  modal/cli/environment.py,sha256=rKnKQFsbcLXjBtYWLFRqhP1NeCjMnqvSPci7Md4ZjIM,18377
@@ -177,18 +177,18 @@ modal/cli/function.py,sha256=qb0XNM8w4KshpybqG5agnyEeMCJCgMw7boc0jS3tGW4,58481
177
177
  modal/cli/image.py,sha256=Ve-PDT4XTH9KEQrZxvUc2ocAW4mLI5QfwQssaajK4MI,8073
178
178
  modal/cli/import_refs.py,sha256=nWZfuGK-4QLCDiymj7zf2lKC416vd8W502I2-_z9GwM,19269
179
179
  modal/cli/logo.py,sha256=plv82syvPb8j3qrR1A_nojZwp823t3VEXaDlrx1jkt0,3221
180
- modal/cli/network_file_system.py,sha256=xNvau_6fziIfbPIlVGAh1-wOGVCNko28GweAjO51LCU,7681
180
+ modal/cli/network_file_system.py,sha256=rPTt5z2oZfWcurD942fghBbPfdIYTLqqRym6lMaXZTM,7663
181
181
  modal/cli/profile.py,sha256=JbpSo5bcK2gdVx3QDrGWwnfRRG-_QtrsLAaQXnwh4K0,4782
182
- modal/cli/queues.py,sha256=cpoza1mEwupQoaBy7kaTqsTaWPto9tHRQrOeLXxZAUU,6951
182
+ modal/cli/queues.py,sha256=G86q3QFYJjEbPF4TDF-dBtApnMDmuYQ5FWQ6QiUW4ZI,6891
183
183
  modal/cli/run.py,sha256=0RFMz4aD5KXnJqLBPfBEu8q6ZWdxn__7ekiAtYeLpgg,26563
184
- modal/cli/secret.py,sha256=lckWyas1J3uQm1f8D9nkWlRlmToNzmy5a-0q4IsJFCc,8254
184
+ modal/cli/secret.py,sha256=O_50rxLEzNGq10A_I9W7j_EDc5myTMaRBvuz5iVQyFI,8236
185
185
  modal/cli/selector.py,sha256=OJr9Ua3K_l-qu3N3-I8z8oVq8lBakws2-XgfheR5p-c,4741
186
186
  modal/cli/server.py,sha256=9O7gWWI4CjIOOwtie744GvefsmtC8ztmt9kGl7XwhqE,50230
187
187
  modal/cli/shell.py,sha256=WshDkcIn2WQCTfoKRR9X0fOko0re8OopW1DU9dTgZbU,17309
188
188
  modal/cli/skills.py,sha256=oniDafrmu_ARYTlButnlXbKE9XlEU1-EFz-eO4tdnFY,11954
189
189
  modal/cli/token.py,sha256=TOuauMzSe7PV1bMnmGQO7oJaAsYY03C1GY6Nww8ac8Y,4905
190
190
  modal/cli/utils.py,sha256=1tkDLqtVqYvj4xLoRaOuO_cl8WJxPpHQnIdTg5S2tjA,11670
191
- modal/cli/volume.py,sha256=nM5QKRjX-d6lQO4FPNDFbIZhuWfZ2O_RW8gtWWwgs4Q,11281
191
+ modal/cli/volume.py,sha256=nwlEpiFswxClhSrYNn_jNxC7IWOaRqcChdVm8KYFaBw,11221
192
192
  modal/cli/workspace.py,sha256=nANL1rJ3PgSf7L_Bk_cgE6p_x0DuOD11MwYaCn6mTX4,22643
193
193
  modal/experimental/__init__.py,sha256=iHj9XLSZ_J0ciUalr96hJ57GbOsi2v87u5QZ6mPiHtg,13205
194
194
  modal/experimental/_flash_container_entry.py,sha256=u0ciXgUain0tosulHFVh_Dp7vi51uHWWiThdQbj0whs,2318
@@ -207,7 +207,7 @@ modal/sandbox/_task_command_router_client.py,sha256=qhFXy8eyGIxwxRFZkTsxJVxsAc8c
207
207
  modal/sandbox/sandbox.py,sha256=4ekghND9qUGf5wtIQH4mVa6PHGjHgY0UN5RKryOM05k,683
208
208
  modal/sandbox/sandbox.pyi,sha256=HYxopAUYMfMEVMWgzeb4qPATPFzLkTCnqpSl9lI-3ac,150321
209
209
  modal/skills/modal/SKILL.md,sha256=Bm-0BPTYppJoeQzA-N-Re8L6-nKnV6gspJXMl4cD0P0,5490
210
- modal-1.6.2.dev12.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
210
+ modal-1.6.2.dev13.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
211
211
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
212
212
  modal_docs/gen_cli_docs.py,sha256=9-b8vl2EsLWD9zJqpCK8IUi5h44Bjn3i3rSdedZV4bA,6415
213
213
  modal_docs/gen_cli_docs_main.py,sha256=UPGr7O1DYTIRLwfINe2rbdh89J3cPVTU1OWL-SjxnOQ,198
@@ -220,8 +220,8 @@ modal_docs/mdmd/signatures.py,sha256=OASroKle763Kfumn4Ek4PABJXEGP56JMCTug44QoBx4
220
220
  modal_docs/mdmd/types.py,sha256=tv7fvziPr-MeDzOp4e2pK5h3d1DXTUOO74rPqDoBn6g,736
221
221
  modal_proto/__init__.py,sha256=Hkou4lcD5tArEkW_9v9KZhLY7fl0fA9-O28beKU55pg,396
222
222
  modal_proto/api_grpc.py,sha256=2apBkgs2G86IrW4qJCxIGk7EOH-N99FrGuRdEZsG8mk,209554
223
- modal_proto/api_pb2.py,sha256=U6cfmb99L-rgsz2nkURGlYjpzbSzAv-xpUd6m7GdmWg,607279
224
- modal_proto/api_pb2.pyi,sha256=X6AFkCXfS9PAXkIY5VJg2v9jlt0tt4soNxdI67r10Pc,841121
223
+ modal_proto/api_pb2.py,sha256=LCDtlAGPXFE6WFS7OmrICO-07xM3d1JLBaMdvKQg7fE,607320
224
+ modal_proto/api_pb2.pyi,sha256=NWMSNQS1W8Mko1UTX_55uFxG6ui_sfEu0Hn3q1qh5DY,841329
225
225
  modal_proto/api_pb2_grpc.py,sha256=V8X-LVyMUUgK8_fz6l96LOtOwRtdxgDvNaPatgrKWu8,448419
226
226
  modal_proto/api_pb2_grpc.pyi,sha256=zPleMbOEfMvYo-bN3VOIjoOYgYL2uncDpPxXtC85g94,105391
227
227
  modal_proto/modal_api_grpc.py,sha256=70vJTOo756_hHoE_svqkbrqO-FnTAEJhQ-D6LANg43M,32964
@@ -231,10 +231,10 @@ modal_proto/task_command_router_pb2.py,sha256=ysC0d8p3YxwyOpP3B-qDlvE81Yo4ntQiwi
231
231
  modal_proto/task_command_router_pb2.pyi,sha256=FDcd5t3ZCmQHUjefOzg07iglrgKYcBrzFvdKIWsEMHI,50628
232
232
  modal_proto/task_command_router_pb2_grpc.py,sha256=8iGUGwEVbqOsZWPJ7OsQ9OKUGaSCf9Dr2tvb04Ww6d4,44620
233
233
  modal_proto/task_command_router_pb2_grpc.pyi,sha256=26Fq9RQo09B9KLHsgdpRuw-I6Z4-2jrXLQkuDzB-moI,15097
234
- modal_version/__init__.py,sha256=6MG52gmiua3bGpTyHLOCZ4zqf3GjvBg7j4_6B6-F3J8,121
234
+ modal_version/__init__.py,sha256=_SxAUjZs1I2sA6TmnPZdNpkqlYKjEmhhbv7z8YIedMU,121
235
235
  modal_version/__main__.py,sha256=nLUbubxKx7GXNzJIkTB7M7_u8080LyLM0IS0rzFkC_c,119
236
- modal-1.6.2.dev12.dist-info/METADATA,sha256=j4FlLoXxTNFK1Jx6Z6ttq5TMmh4_NOlJL0FYto027zc,2578
237
- modal-1.6.2.dev12.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
238
- modal-1.6.2.dev12.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
239
- modal-1.6.2.dev12.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
240
- modal-1.6.2.dev12.dist-info/RECORD,,
236
+ modal-1.6.2.dev13.dist-info/METADATA,sha256=j889cOFYwmizlVuogkBZsugdquzEzZQW4EcPxTIPgm8,2578
237
+ modal-1.6.2.dev13.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
238
+ modal-1.6.2.dev13.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
239
+ modal-1.6.2.dev13.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
240
+ modal-1.6.2.dev13.dist-info/RECORD,,