modal 0.66.47__py3-none-any.whl → 0.66.50__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/_resolver.py +7 -2
- modal/cli/config.py +3 -0
- modal/client.pyi +2 -2
- modal/config.py +1 -1
- modal/functions.pyi +6 -6
- {modal-0.66.47.dist-info → modal-0.66.50.dist-info}/METADATA +1 -1
- {modal-0.66.47.dist-info → modal-0.66.50.dist-info}/RECORD +12 -12
- modal_version/_version_generated.py +1 -1
- {modal-0.66.47.dist-info → modal-0.66.50.dist-info}/LICENSE +0 -0
- {modal-0.66.47.dist-info → modal-0.66.50.dist-info}/WHEEL +0 -0
- {modal-0.66.47.dist-info → modal-0.66.50.dist-info}/entry_points.txt +0 -0
- {modal-0.66.47.dist-info → modal-0.66.50.dist-info}/top_level.txt +0 -0
modal/_resolver.py
CHANGED
@@ -130,9 +130,14 @@ class Resolver:
|
|
130
130
|
raise NotFoundError(exc.message)
|
131
131
|
raise
|
132
132
|
|
133
|
-
# Check that the id of functions
|
133
|
+
# Check that the id of functions didn't change
|
134
134
|
# Persisted refs are ignored because their life cycle is managed independently.
|
135
|
-
if
|
135
|
+
if (
|
136
|
+
not obj._is_another_app
|
137
|
+
and existing_object_id is not None
|
138
|
+
and existing_object_id.startswith("fu-")
|
139
|
+
and obj.object_id != existing_object_id
|
140
|
+
):
|
136
141
|
raise Exception(
|
137
142
|
f"Tried creating an object using existing id {existing_object_id}"
|
138
143
|
f" but it has id {obj.object_id}"
|
modal/cli/config.py
CHANGED
@@ -3,6 +3,7 @@ import typer
|
|
3
3
|
from rich.console import Console
|
4
4
|
|
5
5
|
from modal.config import _profile, _store_user_config, config
|
6
|
+
from modal.environments import Environment
|
6
7
|
|
7
8
|
config_cli = typer.Typer(
|
8
9
|
name="config",
|
@@ -38,6 +39,8 @@ when running a command that requires an environment.
|
|
38
39
|
|
39
40
|
@config_cli.command(help=SET_DEFAULT_ENV_HELP)
|
40
41
|
def set_environment(environment_name: str):
|
42
|
+
# Confirm that the environment exists by looking it up
|
43
|
+
Environment.lookup(environment_name)
|
41
44
|
_store_user_config({"environment": environment_name})
|
42
45
|
typer.echo(f"New default environment for profile {_profile}: {environment_name}")
|
43
46
|
|
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[typing.Tuple[str, str]],
|
34
|
-
version: str = "0.66.
|
34
|
+
version: str = "0.66.50",
|
35
35
|
): ...
|
36
36
|
def is_closed(self) -> bool: ...
|
37
37
|
@property
|
@@ -90,7 +90,7 @@ class Client:
|
|
90
90
|
server_url: str,
|
91
91
|
client_type: int,
|
92
92
|
credentials: typing.Optional[typing.Tuple[str, str]],
|
93
|
-
version: str = "0.66.
|
93
|
+
version: str = "0.66.50",
|
94
94
|
): ...
|
95
95
|
def is_closed(self) -> bool: ...
|
96
96
|
@property
|
modal/config.py
CHANGED
modal/functions.pyi
CHANGED
@@ -446,11 +446,11 @@ class Function(typing.Generic[P, ReturnType, OriginalReturnType], modal.object.O
|
|
446
446
|
|
447
447
|
_call_generator_nowait: ___call_generator_nowait_spec
|
448
448
|
|
449
|
-
class __remote_spec(typing_extensions.Protocol[
|
449
|
+
class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
|
450
450
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
451
451
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
452
452
|
|
453
|
-
remote: __remote_spec[
|
453
|
+
remote: __remote_spec[P, ReturnType]
|
454
454
|
|
455
455
|
class __remote_gen_spec(typing_extensions.Protocol):
|
456
456
|
def __call__(self, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
|
@@ -462,17 +462,17 @@ class Function(typing.Generic[P, ReturnType, OriginalReturnType], modal.object.O
|
|
462
462
|
def _get_obj(self) -> typing.Optional[modal.cls.Obj]: ...
|
463
463
|
def local(self, *args: P.args, **kwargs: P.kwargs) -> OriginalReturnType: ...
|
464
464
|
|
465
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
465
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
|
466
466
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
467
467
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
468
468
|
|
469
|
-
_experimental_spawn: ___experimental_spawn_spec[
|
469
|
+
_experimental_spawn: ___experimental_spawn_spec[P, ReturnType]
|
470
470
|
|
471
|
-
class __spawn_spec(typing_extensions.Protocol[
|
471
|
+
class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
|
472
472
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
473
473
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
474
474
|
|
475
|
-
spawn: __spawn_spec[
|
475
|
+
spawn: __spawn_spec[P, ReturnType]
|
476
476
|
|
477
477
|
def get_raw_f(self) -> typing.Callable[..., typing.Any]: ...
|
478
478
|
|
@@ -8,7 +8,7 @@ modal/_location.py,sha256=S3lSxIU3h9HkWpkJ3Pwo0pqjIOSB1fjeSgUsY3x7eec,1202
|
|
8
8
|
modal/_output.py,sha256=SMaLrf1btBzHTV_tH5NzA8ZTWNJh5J0b31iG3sQU8_4,25494
|
9
9
|
modal/_proxy_tunnel.py,sha256=gnKyCfmVB7x2d1A6c-JDysNIP3kEFxmXzhcXhPrzPn0,1906
|
10
10
|
modal/_pty.py,sha256=GhzrHKZpoI-YHMDN7LoySlSYLpoJ4yGPSF-fqiNsFrM,1336
|
11
|
-
modal/_resolver.py,sha256=
|
11
|
+
modal/_resolver.py,sha256=s2YSLnpZbwUQHLs2ahltvEVDMLRYyIagdTcWr2-qkeA,6760
|
12
12
|
modal/_resources.py,sha256=zTCcXvmG1erERnTvUcN0r4IjjwVEs4N8fs7OnkpvbJQ,1740
|
13
13
|
modal/_serialization.py,sha256=b1X44hDP7WDTX3iz3HrPyFJJz51a69luq5Tyhnm1fK0,18762
|
14
14
|
modal/_traceback.py,sha256=1yNp1Dqq4qRIQp8idDp5PEqjwH4eA8MNI0FhFkCOFgo,4408
|
@@ -19,12 +19,12 @@ modal/app.py,sha256=ZQux8ZGLblIWbKHn7s15mucx97EwbjJso9WKRTYYOf0,45208
|
|
19
19
|
modal/app.pyi,sha256=sX2BXX_178lp8O_GvwZqsxDdxQi1j3DjNfthMvlMlJU,25273
|
20
20
|
modal/call_graph.py,sha256=l-Wi6vM8aosCdHTWegcCyGeVJGFdZ_fzlCmbRVPBXFI,2593
|
21
21
|
modal/client.py,sha256=4SpWb4n0nolITR36kADZl1tYLOg6avukmzZU56UQjCo,16385
|
22
|
-
modal/client.pyi,sha256=
|
22
|
+
modal/client.pyi,sha256=WsQ9bDrSHJSCa_xKRMoYw6PEOP_ECRJoi3bI8fdUgdQ,7372
|
23
23
|
modal/cloud_bucket_mount.py,sha256=eWQhCtMIczpokjfTZEgNBCGO_s5ft46PqTSLfKBykq4,5748
|
24
24
|
modal/cloud_bucket_mount.pyi,sha256=tTF7M4FR9bTA30cFkz8qq3ZTlFL19NHU_36e_5GgAGA,1424
|
25
25
|
modal/cls.py,sha256=apKnBOHKYEpBiMC8mRvHtCDJl1g0vP0tG1r8mUZ1yH0,24684
|
26
26
|
modal/cls.pyi,sha256=om3xQuHTMu7q_32BDKJjAz4oP_7Z5JWV27kyDKTPFI8,8332
|
27
|
-
modal/config.py,sha256=
|
27
|
+
modal/config.py,sha256=bij_YRIynxQtwDmS73BNMR9YZf6CHcqbFYdfRqDrWV0,10929
|
28
28
|
modal/container_process.py,sha256=c_jBPtyPeSxbIcbLfs_FzTrt-1eErtRSnsfxkDozFoY,5589
|
29
29
|
modal/container_process.pyi,sha256=k2kClwaSzz11eci1pzFZgCm-ptXapHAyHTOENorlazA,2594
|
30
30
|
modal/dict.py,sha256=axbUKiXhgOVvE1IrNMK3uHg3rp3N0Uji5elQNijnhH4,12571
|
@@ -34,7 +34,7 @@ modal/environments.pyi,sha256=oScvFAclF55-tL9UioLIL_SPBwgy_9O-BBvJ-PLbRgY,3542
|
|
34
34
|
modal/exception.py,sha256=K-czk1oK8wFvK8snWrytXSByo2WNb9SJAlgBVPGWZBs,6417
|
35
35
|
modal/experimental.py,sha256=jFuNbwrNHos47viMB9q-cHJSvf2RDxDdoEcss9plaZE,2302
|
36
36
|
modal/functions.py,sha256=BxccB-3a1migZQ6JA6iiHZJQ7WQ-jYpmg9DEZoTxzcc,71639
|
37
|
-
modal/functions.pyi,sha256=
|
37
|
+
modal/functions.pyi,sha256=0JsvWf9vvj2fMSNIHoXmL9FS7sWoRU4hU6911PyqEls,24800
|
38
38
|
modal/gpu.py,sha256=r4rL6uH3UJIQthzYvfWauXNyh01WqCPtKZCmmSX1fd4,6881
|
39
39
|
modal/image.py,sha256=j-NH8pLWk4jd5UOGD4y6W7DHWoeb3rG_VR7zPLSqj-Q,78927
|
40
40
|
modal/image.pyi,sha256=QEjjnl4ZSmqt7toHww5ZbhL2Re5qaFGgH7qADcJS_vA,24493
|
@@ -103,7 +103,7 @@ modal/cli/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
|
|
103
103
|
modal/cli/_download.py,sha256=9onXaExi55VJowurB5eDSSCZHyt9NwtS8iLn6Il0WwY,3964
|
104
104
|
modal/cli/_traceback.py,sha256=SWa-emP5A63gvfspJsZgxWQbl_xif8nkIqkvukyG61Y,6954
|
105
105
|
modal/cli/app.py,sha256=KqH4eS_w9rbdactdqSJEx8kVUalFPJ_jpsbdHuvwSTI,7722
|
106
|
-
modal/cli/config.py,sha256=
|
106
|
+
modal/cli/config.py,sha256=pXPLmX0bIoV57rQNqIPK7V-yllj-GPRY4jiBO_EklGg,1667
|
107
107
|
modal/cli/container.py,sha256=LGrF9iz8D3PGst6IUl0VB1Y1LJ0BWLrNRNFxWa4z-tg,3199
|
108
108
|
modal/cli/dict.py,sha256=lIEl6uxygFt3omC-oF6tHUxnFjVhy4d0InC_kZrlkvM,4454
|
109
109
|
modal/cli/entry_point.py,sha256=aaNxFAqZcmtSjwzkYIA_Ba9CkL4cL4_i2gy5VjoXxkM,4228
|
@@ -159,10 +159,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
|
|
159
159
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
160
160
|
modal_version/__init__.py,sha256=UnAuHBPuPSstqgdCOx0SBVdfhpeJnMlY_oxEbu44Izg,470
|
161
161
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
162
|
-
modal_version/_version_generated.py,sha256=
|
163
|
-
modal-0.66.
|
164
|
-
modal-0.66.
|
165
|
-
modal-0.66.
|
166
|
-
modal-0.66.
|
167
|
-
modal-0.66.
|
168
|
-
modal-0.66.
|
162
|
+
modal_version/_version_generated.py,sha256=ebE9iJTKZYTHQ3sX0Co4kO9qZg6vc814hd9KvMgaFvk,149
|
163
|
+
modal-0.66.50.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
164
|
+
modal-0.66.50.dist-info/METADATA,sha256=VEm-0bnVheLxgWXX5oiYnLb2HXzro3kK9gvF_cnU3JA,2329
|
165
|
+
modal-0.66.50.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
166
|
+
modal-0.66.50.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
167
|
+
modal-0.66.50.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
|
168
|
+
modal-0.66.50.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|