modal 1.1.2.dev16__py3-none-any.whl → 1.1.2.dev18__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 +2 -2
- modal/experimental/__init__.py +28 -2
- {modal-1.1.2.dev16.dist-info → modal-1.1.2.dev18.dist-info}/METADATA +1 -1
- {modal-1.1.2.dev16.dist-info → modal-1.1.2.dev18.dist-info}/RECORD +12 -12
- modal_proto/api.proto +1 -0
- modal_proto/api_pb2.py +536 -536
- modal_proto/api_pb2.pyi +7 -2
- modal_version/__init__.py +1 -1
- {modal-1.1.2.dev16.dist-info → modal-1.1.2.dev18.dist-info}/WHEEL +0 -0
- {modal-1.1.2.dev16.dist-info → modal-1.1.2.dev18.dist-info}/entry_points.txt +0 -0
- {modal-1.1.2.dev16.dist-info → modal-1.1.2.dev18.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.2.dev16.dist-info → modal-1.1.2.dev18.dist-info}/top_level.txt +0 -0
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.
|
36
|
+
version: str = "1.1.2.dev18",
|
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.
|
167
|
+
version: str = "1.1.2.dev18",
|
168
168
|
):
|
169
169
|
"""mdmd:hidden
|
170
170
|
The Modal client object is not intended to be instantiated directly by users.
|
modal/experimental/__init__.py
CHANGED
@@ -213,6 +213,24 @@ async def raw_registry_image(
|
|
213
213
|
)
|
214
214
|
|
215
215
|
|
216
|
+
def _install_cuda_command() -> str:
|
217
|
+
"""Command to install CUDA Toolkit (nvcc) inside a container."""
|
218
|
+
arch = "x86_64" # instruction set architecture for the CPU, all Modal machines are x86_64
|
219
|
+
distro = "debian12" # the distribution and version number of our OS (GNU/Linux)
|
220
|
+
filename = "cuda-keyring_1.1-1_all.deb" # NVIDIA signing key file
|
221
|
+
cuda_keyring_url = f"https://developer.download.nvidia.com/compute/cuda/repos/{distro}/{arch}/{filename}"
|
222
|
+
|
223
|
+
major, minor = 12, 8
|
224
|
+
max_cuda_version = f"{major}-{minor}"
|
225
|
+
|
226
|
+
return (
|
227
|
+
f"wget {cuda_keyring_url} && "
|
228
|
+
+ f"dpkg -i {filename} && "
|
229
|
+
+ f"rm -f {filename} && "
|
230
|
+
+ f"apt-get update && apt-get install -y cuda-nvcc-{max_cuda_version}"
|
231
|
+
)
|
232
|
+
|
233
|
+
|
216
234
|
@synchronizer.create_blocking
|
217
235
|
async def notebook_base_image(*, python_version: Optional[str] = None, force_build: bool = False) -> _Image:
|
218
236
|
"""Default image used for Modal notebook kernels, with common libraries.
|
@@ -293,7 +311,8 @@ async def notebook_base_image(*, python_version: Optional[str] = None, force_bui
|
|
293
311
|
|
294
312
|
commands: list[str] = [
|
295
313
|
"apt-get update",
|
296
|
-
"apt-get install -y libpq-dev pkg-config cmake git curl wget unzip zip libsqlite3-dev openssh-server",
|
314
|
+
"apt-get install -y libpq-dev pkg-config cmake git curl wget unzip zip libsqlite3-dev openssh-server vim",
|
315
|
+
_install_cuda_command(),
|
297
316
|
# Install uv since it's faster than pip for installing packages.
|
298
317
|
"pip install uv",
|
299
318
|
# https://github.com/astral-sh/uv/issues/11480
|
@@ -306,7 +325,14 @@ async def notebook_base_image(*, python_version: Optional[str] = None, force_bui
|
|
306
325
|
# https://github.com/charlesfrye/cuda-modal/blob/7fef8db12402986cf42d9c8cca8c63d1da6d7700/cuda/use_cuda.py#L158-L188
|
307
326
|
|
308
327
|
def build_dockerfile(version: ImageBuilderVersion) -> DockerfileSpec:
|
309
|
-
return DockerfileSpec(
|
328
|
+
return DockerfileSpec(
|
329
|
+
commands=[
|
330
|
+
"FROM base",
|
331
|
+
*(f"RUN {cmd}" for cmd in commands),
|
332
|
+
"ENV PATH=/usr/local/cuda/bin:$PATH",
|
333
|
+
],
|
334
|
+
context_files={},
|
335
|
+
)
|
310
336
|
|
311
337
|
return _Image._from_args(
|
312
338
|
base_images={"base": base_image},
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=kpq4kXp7pch688y6g55QYAC10wqPTU5FXKoWPMirA3E,47899
|
|
22
22
|
modal/app.pyi,sha256=-jKXlGDBWRPVsuenBhdMRqawK-L2eiJ7gHbmSblhltg,43525
|
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=
|
25
|
+
modal/client.pyi,sha256=kRLvWN3479PexYdIOjmN3BzwA_Ex1lxPJwL3thvI6qE,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=7A0xGnugQzm8dOfnKMjLjtqekRlRtQ0jPFRYgq6xdUM,40018
|
@@ -149,11 +149,11 @@ modal/cli/programs/launch_instance_ssh.py,sha256=GrwK_Vy8-7B4x5a6AqFaF7lqNVgu75J
|
|
149
149
|
modal/cli/programs/run_jupyter.py,sha256=44Lpvqk2l3hH-uOkmAOzw60NEsfB5uaRDWDKVshvQhs,2682
|
150
150
|
modal/cli/programs/run_marimo.py,sha256=HyZ2za0NYqg31-mGxFQxUIAJ3Q-jRaMocEwWwI5-cdw,2887
|
151
151
|
modal/cli/programs/vscode.py,sha256=KbTAaIXyQBVCDXxXjmBHmKpgXkUw0q4R4KkJvUjCYgk,3380
|
152
|
-
modal/experimental/__init__.py,sha256=
|
152
|
+
modal/experimental/__init__.py,sha256=dPBPpxsmjZMLF3YjRrXoTvT01pl65wxi4UdFZsOem3w,15082
|
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.
|
156
|
+
modal-1.1.2.dev18.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
|
@@ -161,10 +161,10 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
|
|
161
161
|
modal_docs/mdmd/mdmd.py,sha256=tUTImNd4UMFk1opkaw8J672gX8AkBO5gbY2S_NMxsxs,7140
|
162
162
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
163
163
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
164
|
-
modal_proto/api.proto,sha256=
|
164
|
+
modal_proto/api.proto,sha256=h8dFXyBZjvdeg1xz6-KqtITH6wYvwaHnuf2PvP8aYtY,103857
|
165
165
|
modal_proto/api_grpc.py,sha256=1mDcIexGtoVq0675-sqlYVr_M2ncGETpmKsOP7VwE3Y,126369
|
166
|
-
modal_proto/api_pb2.py,sha256=
|
167
|
-
modal_proto/api_pb2.pyi,sha256=
|
166
|
+
modal_proto/api_pb2.py,sha256=Oqb451HSGpro9ZZ9qLmHWWrM13VJpRGWeGlB8KCykCU,364345
|
167
|
+
modal_proto/api_pb2.pyi,sha256=f4GsaHHROjX93jidQMREJzWo-nHmzJo7w114IBuGbCo,502782
|
168
168
|
modal_proto/api_pb2_grpc.py,sha256=8TyCjBX-IvJaO_v7vkF_-J9h72wwLOe4MKL_jyXTK0g,272649
|
169
169
|
modal_proto/api_pb2_grpc.pyi,sha256=SQtAD1GR57oJOjxohW_8XTHpRRCahy02FTq0IYWzTNs,63669
|
170
170
|
modal_proto/modal_api_grpc.py,sha256=KL5Nw4AS9hJNxfL6VIeuxHz4jIUN7Unz7hYnoSsqyx0,19071
|
@@ -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=
|
179
|
+
modal_version/__init__.py,sha256=fa3Wn9TJLvgYuzTqpHri2jBsj3k6C_kkeZL6CzABr_s,121
|
180
180
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
181
|
-
modal-1.1.2.
|
182
|
-
modal-1.1.2.
|
183
|
-
modal-1.1.2.
|
184
|
-
modal-1.1.2.
|
185
|
-
modal-1.1.2.
|
181
|
+
modal-1.1.2.dev18.dist-info/METADATA,sha256=MTovuvHghz6Htwv483bJHvtpp3wl6vRWTJ_K5zLOy0Y,2460
|
182
|
+
modal-1.1.2.dev18.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
183
|
+
modal-1.1.2.dev18.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
184
|
+
modal-1.1.2.dev18.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
185
|
+
modal-1.1.2.dev18.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -1824,6 +1824,7 @@ message FunctionOptions {
|
|
1824
1824
|
optional uint32 batch_max_size = 15;
|
1825
1825
|
optional uint64 batch_linger_ms = 16;
|
1826
1826
|
optional SchedulerPlacement scheduler_placement = 17;
|
1827
|
+
optional string cloud_provider_str = 18;
|
1827
1828
|
}
|
1828
1829
|
|
1829
1830
|
message FunctionPrecreateRequest {
|