modal 1.1.2.dev34__py3-none-any.whl → 1.1.2.dev35__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/client.pyi CHANGED
@@ -33,7 +33,7 @@ class _Client:
33
33
  server_url: str,
34
34
  client_type: int,
35
35
  credentials: typing.Optional[tuple[str, str]],
36
- version: str = "1.1.2.dev34",
36
+ version: str = "1.1.2.dev35",
37
37
  ):
38
38
  """mdmd:hidden
39
39
  The Modal client object is not intended to be instantiated directly by users.
@@ -164,7 +164,7 @@ class Client:
164
164
  server_url: str,
165
165
  client_type: int,
166
166
  credentials: typing.Optional[tuple[str, str]],
167
- version: str = "1.1.2.dev34",
167
+ version: str = "1.1.2.dev35",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
modal/mount.py CHANGED
@@ -13,6 +13,7 @@ from pathlib import Path, PurePosixPath
13
13
  from typing import Callable, Optional, Sequence, Union
14
14
 
15
15
  from google.protobuf.message import Message
16
+ from grpclib import GRPCError
16
17
 
17
18
  import modal.exception
18
19
  import modal.file_pattern_matcher
@@ -929,19 +930,23 @@ async def _create_single_client_dependency_mount(
929
930
  remote_path=REMOTE_SITECUSTOMIZE_PATH,
930
931
  )
931
932
 
932
- await python_mount._deploy.aio(
933
- mount_name,
934
- api_pb2.DEPLOYMENT_NAMESPACE_GLOBAL,
935
- environment_name=profile_environment,
936
- allow_overwrite=allow_overwrite,
937
- client=client,
938
- )
939
- print(f"✅ Deployed mount {mount_name} to global namespace.")
933
+ try:
934
+ await python_mount._deploy.aio(
935
+ mount_name,
936
+ api_pb2.DEPLOYMENT_NAMESPACE_GLOBAL,
937
+ environment_name=profile_environment,
938
+ allow_overwrite=allow_overwrite,
939
+ client=client,
940
+ )
941
+ print(f"✅ Deployed mount {mount_name} to global namespace.")
942
+ except GRPCError as e:
943
+ print(f"⚠️ Mount creation failed with {e.status}: {e.message}")
940
944
 
941
945
 
942
946
  async def _create_client_dependency_mounts(
943
947
  client=None,
944
948
  python_versions: list[str] = list(PYTHON_STANDALONE_VERSIONS),
949
+ builder_versions: list[str] = ["2025.06"], # Reenable "PREVIEW" during testing
945
950
  check_if_exists=True,
946
951
  ):
947
952
  arch = "x86_64"
@@ -950,8 +955,8 @@ async def _create_client_dependency_mounts(
950
955
  ("musllinux_1_2", f"{arch}-unknown-linux-musl"), # musl >= 1.2
951
956
  ]
952
957
  coros = []
953
- for builder_version in ["2025.06", "PREVIEW"]:
954
- for python_version in python_versions:
958
+ for python_version in python_versions:
959
+ for builder_version in builder_versions:
955
960
  for platform, uv_python_platform in platform_tags:
956
961
  coros.append(
957
962
  _create_single_client_dependency_mount(
@@ -961,9 +966,11 @@ async def _create_client_dependency_mounts(
961
966
  arch,
962
967
  platform,
963
968
  uv_python_platform,
964
- # Re-enable mount overwriting for PREVIEW version while under development
965
- # check_if_exists=builder_version != "PREVIEW",
966
- # allow_overwrite=builder_version == "PREVIEW",
969
+ # This check_if_exists / allow_overwrite parameterization is very awkward
970
+ # Also it doesn't provide a hook for overwriting a non-preview version, which
971
+ # in theory we may need to do at some point (hopefully not, but...)
972
+ check_if_exists=check_if_exists and builder_version != "PREVIEW",
973
+ allow_overwrite=builder_version == "PREVIEW",
967
974
  )
968
975
  )
969
976
  await TaskContext.gather(*coros)
modal/mount.pyi CHANGED
@@ -570,15 +570,28 @@ async def _create_single_client_dependency_mount(
570
570
  allow_overwrite: bool = False,
571
571
  ): ...
572
572
  async def _create_client_dependency_mounts(
573
- client=None, python_versions: list[str] = ["3.9", "3.10", "3.11", "3.12", "3.13"], check_if_exists=True
573
+ client=None,
574
+ python_versions: list[str] = ["3.9", "3.10", "3.11", "3.12", "3.13"],
575
+ builder_versions: list[str] = ["2025.06"],
576
+ check_if_exists=True,
574
577
  ): ...
575
578
 
576
579
  class __create_client_dependency_mounts_spec(typing_extensions.Protocol):
577
580
  def __call__(
578
- self, /, client=None, python_versions: list[str] = ["3.9", "3.10", "3.11", "3.12", "3.13"], check_if_exists=True
581
+ self,
582
+ /,
583
+ client=None,
584
+ python_versions: list[str] = ["3.9", "3.10", "3.11", "3.12", "3.13"],
585
+ builder_versions: list[str] = ["2025.06"],
586
+ check_if_exists=True,
579
587
  ): ...
580
588
  async def aio(
581
- self, /, client=None, python_versions: list[str] = ["3.9", "3.10", "3.11", "3.12", "3.13"], check_if_exists=True
589
+ self,
590
+ /,
591
+ client=None,
592
+ python_versions: list[str] = ["3.9", "3.10", "3.11", "3.12", "3.13"],
593
+ builder_versions: list[str] = ["2025.06"],
594
+ check_if_exists=True,
582
595
  ): ...
583
596
 
584
597
  create_client_dependency_mounts: __create_client_dependency_mounts_spec
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.2.dev34
3
+ Version: 1.1.2.dev35
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=NIkdg9tTBsB8xWEOpU8GSpUfHeGleA4M9MQ77PKADok,48052
22
22
  modal/app.pyi,sha256=k0HnXfwV3mEze3PFHmSeqXBqizNqeJWF5oxrqo-P4Wg,43447
23
23
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
24
24
  modal/client.py,sha256=kyAIVB3Ay-XKJizQ_1ufUFB__EagV0MLmHJpyYyJ7J0,18636
25
- modal/client.pyi,sha256=2Mv8qbrXFVQCkhNvNvs6PlvjZKnvPVVlFnHRwI0vT-E,15831
25
+ modal/client.pyi,sha256=-hgKLgjKc78yjRuWJ0hViZ5zjw22BcACy3CjRlv8V-E,15831
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=1mBcExFrLDTZwkD3Dzu8F26_CL0CGktOV9pE60Y8g_E,40689
@@ -45,8 +45,8 @@ modal/image.py,sha256=A83nmo0zfCUwgvJh0LZ7Yc1sYvDnZLl_phbKxN-9HIw,103144
45
45
  modal/image.pyi,sha256=oH-GCHVEwD5fOX0K_IaWN5RKZlYwX82z-K4wxx8aN3c,68541
46
46
  modal/io_streams.py,sha256=ut9tY_yEtiBsgQ40u_72Ns87IZHfbMxfnh8t6U9RSGA,16204
47
47
  modal/io_streams.pyi,sha256=aOun_jUFKHSJyUY6-7gKvNoxzcULsa8_hxdtEO7v-gk,13980
48
- modal/mount.py,sha256=EHttd7D0HNtGUDyB3DS26dJMdabG-SlIaD5c52dJnbE,36729
49
- modal/mount.pyi,sha256=n6AuS8J3bTCQj750nVZZdVBvzCAlSM2fyxAt_5LLFik,20264
48
+ modal/mount.py,sha256=AObt5puO-jgtH5EtUfgAkz130bR-8Qvo5Am1_4tg3mE,37215
49
+ modal/mount.pyi,sha256=Q99V40Va5JuRrmc9PbpQXakYzTSVvgFNgSlJDcfWIyQ,20488
50
50
  modal/network_file_system.py,sha256=S5WhQEUv55u0YDpgeEQP-PGIcq2o1gJZVBHAO5vSR2Q,14933
51
51
  modal/network_file_system.pyi,sha256=Td_IobHr84iLo_9LZKQ4tNdUB60yjX8QWBaFiUvhfi8,17685
52
52
  modal/object.py,sha256=bTeskuY8JFrESjU4_UL_nTwYlBQdOLmVaOX3X6EMxsg,164
@@ -153,7 +153,7 @@ modal/experimental/__init__.py,sha256=dPBPpxsmjZMLF3YjRrXoTvT01pl65wxi4UdFZsOem3
153
153
  modal/experimental/flash.py,sha256=viXQumCIFp5VFsPFURdFTBTjP_QnsAi8nSWXAMmfjeQ,19744
154
154
  modal/experimental/flash.pyi,sha256=A8_qJGtGoXEzKDdHbvhmCw7oqfneFEvJQK3ZdTOvUdU,10830
155
155
  modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
156
- modal-1.1.2.dev34.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
156
+ modal-1.1.2.dev35.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
157
157
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
158
158
  modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
159
159
  modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
@@ -176,10 +176,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
176
176
  modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
177
177
  modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
178
178
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
- modal_version/__init__.py,sha256=87RIRvCfNh2mEe8LB2u9l0ln-vNhxcpk9t5EYr9aqc4,121
179
+ modal_version/__init__.py,sha256=rH9A22xBt4u3QXrGTl1F14h6atSOI0HKOoXqtx__ncA,121
180
180
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
181
- modal-1.1.2.dev34.dist-info/METADATA,sha256=K4RvmW4ai42OINqypbUXE4JJ2nO9dPpWZ9uEC9pdVKU,2460
182
- modal-1.1.2.dev34.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
183
- modal-1.1.2.dev34.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
184
- modal-1.1.2.dev34.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
185
- modal-1.1.2.dev34.dist-info/RECORD,,
181
+ modal-1.1.2.dev35.dist-info/METADATA,sha256=64VgIKamORGJ9j88hpj4BUSAGWnctfOOPbjew7rOAjw,2460
182
+ modal-1.1.2.dev35.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
183
+ modal-1.1.2.dev35.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
184
+ modal-1.1.2.dev35.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
185
+ modal-1.1.2.dev35.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.1.2.dev34"
4
+ __version__ = "1.1.2.dev35"