coiled 1.131.1.dev2__tar.gz → 1.133.0__tar.gz
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.
- {coiled-1.131.1.dev2 → coiled-1.133.0}/PKG-INFO +1 -1
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/notebook/notebook.py +53 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/run.py +16 -1
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/types.py +6 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/.gitignore +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/LICENSE +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/README.md +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/__main__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/analytics.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/auth.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/batch.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/capture_environment.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/batch/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/batch/list.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/batch/logs.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/batch/run.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/batch/status.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/batch/util.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/batch/wait.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/cluster/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/cluster/azure_logs.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/cluster/better_logs.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/cluster/crud.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/cluster/get_address.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/cluster/list.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/cluster/logs.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/cluster/metrics.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/cluster/ssh.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/cluster/utils.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/config.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/core.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/curl.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/diagnostics.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/env.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/file.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/examples/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/examples/exit.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/examples/hello_world.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/examples/nyc_parquet.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/examples/pytorch.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/examples/xarray_nwm.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/hello.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/scripts/fill_ipython.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/scripts/nyc_parquet.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/scripts/pytorch.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/scripts/xarray_nwm.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/hello/utils.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/login.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/mpi.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/notebook/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/package_sync.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/prefect.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/prefect_serve.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/setup/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/setup/amp.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/setup/aws.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/setup/azure.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/setup/entry.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/setup/gcp.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/setup/prometheus.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/setup/util.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/sync.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cli/utils.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/cluster.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/coiled.yaml +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/compatibility.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/config.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/context.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/core.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/credentials/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/credentials/aws.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/credentials/google.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/errors.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/exceptions.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/extensions/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/extensions/prefect/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/extensions/prefect/runners.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/extensions/prefect/workers.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/filestore.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/function.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/plugins.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/prefect.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/pypi_conda_map.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/scan.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/software.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/software_utils.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/spans.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/spark.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/utils.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/v2/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/v2/cluster.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/v2/cluster_comms.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/v2/core.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/v2/cwi_log_link.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/v2/states.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/v2/widgets/__init__.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/v2/widgets/interface.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/v2/widgets/rich.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/v2/widgets/util.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/coiled/websockets.py +0 -0
- {coiled-1.131.1.dev2 → coiled-1.133.0}/pyproject.toml +0 -0
|
@@ -155,11 +155,36 @@ def check_jupyter() -> bool:
|
|
|
155
155
|
"allows you to use an io2 EBS volume on AWS."
|
|
156
156
|
),
|
|
157
157
|
)
|
|
158
|
+
@click.option(
|
|
159
|
+
"--capacity-reservation-id",
|
|
160
|
+
default=None,
|
|
161
|
+
help="For AWS, allows you to specify existing Capacity Reservation to use.",
|
|
162
|
+
)
|
|
163
|
+
@click.option(
|
|
164
|
+
"--capacity-reservation-group-arn",
|
|
165
|
+
default=None,
|
|
166
|
+
help="For AWS, allows you to specify existing Capacity Reservation group to use.",
|
|
167
|
+
)
|
|
168
|
+
@click.option(
|
|
169
|
+
"--docker-shm-size",
|
|
170
|
+
default=None,
|
|
171
|
+
help="Non-default value for shm_size (for example, '3 GiB').",
|
|
172
|
+
)
|
|
173
|
+
@click.option(
|
|
174
|
+
"--ami-version",
|
|
175
|
+
default=None,
|
|
176
|
+
help="Use non-default Coiled AMI, e.g. 'DL' for the Deep Learning Base OSS Nvidia Driver GPU AMI.",
|
|
177
|
+
)
|
|
158
178
|
@click.option(
|
|
159
179
|
"--region",
|
|
160
180
|
default=None,
|
|
161
181
|
help="The cloud provider region in which to run the notebook.",
|
|
162
182
|
)
|
|
183
|
+
@click.option(
|
|
184
|
+
"--zone",
|
|
185
|
+
default=None,
|
|
186
|
+
help="The cloud provider zone in which to run the notebook.",
|
|
187
|
+
)
|
|
163
188
|
@click.option(
|
|
164
189
|
"--open",
|
|
165
190
|
default=True,
|
|
@@ -256,7 +281,12 @@ def start_notebook(
|
|
|
256
281
|
gpu: bool,
|
|
257
282
|
disk_size: int | None,
|
|
258
283
|
disk_config: str | None,
|
|
284
|
+
capacity_reservation_id: str | None,
|
|
285
|
+
capacity_reservation_group_arn: str | None,
|
|
286
|
+
docker_shm_size: str | None,
|
|
287
|
+
ami_version: str | None,
|
|
259
288
|
region: str | None,
|
|
289
|
+
zone: str | None,
|
|
260
290
|
open: bool,
|
|
261
291
|
block: bool,
|
|
262
292
|
include_vcs: bool,
|
|
@@ -294,7 +324,12 @@ def start_notebook(
|
|
|
294
324
|
gpu=gpu,
|
|
295
325
|
disk_size=disk_size,
|
|
296
326
|
disk_config=disk_config_dict,
|
|
327
|
+
capacity_reservation_id=capacity_reservation_id,
|
|
328
|
+
capacity_reservation_group_arn=capacity_reservation_group_arn,
|
|
329
|
+
docker_shm_size=docker_shm_size,
|
|
330
|
+
ami_version=ami_version,
|
|
297
331
|
region=region,
|
|
332
|
+
zone=zone,
|
|
298
333
|
open=open,
|
|
299
334
|
block=block,
|
|
300
335
|
include_vcs=include_vcs,
|
|
@@ -324,7 +359,12 @@ def _start_notebook(
|
|
|
324
359
|
gpu: bool = False,
|
|
325
360
|
disk_size: int | None = None,
|
|
326
361
|
disk_config: dict | None = None,
|
|
362
|
+
capacity_reservation_id: str | None = None,
|
|
363
|
+
capacity_reservation_group_arn: str | None = None,
|
|
364
|
+
docker_shm_size: str | None = None,
|
|
365
|
+
ami_version: str | None = None,
|
|
327
366
|
region: str | None = None,
|
|
367
|
+
zone: str | None = None,
|
|
328
368
|
open: bool = False,
|
|
329
369
|
block: bool = True,
|
|
330
370
|
include_vcs: bool = False,
|
|
@@ -399,6 +439,18 @@ def _start_notebook(
|
|
|
399
439
|
except FileNotFoundError:
|
|
400
440
|
package_sync_ignore = []
|
|
401
441
|
|
|
442
|
+
backend_options = dict()
|
|
443
|
+
if zone:
|
|
444
|
+
backend_options["zone_name"] = zone
|
|
445
|
+
if capacity_reservation_id:
|
|
446
|
+
backend_options["capacity_reservation_id"] = capacity_reservation_id
|
|
447
|
+
if capacity_reservation_group_arn:
|
|
448
|
+
backend_options["capacity_reservation_group_arn"] = capacity_reservation_group_arn
|
|
449
|
+
if ami_version:
|
|
450
|
+
backend_options["ami_version"] = ami_version
|
|
451
|
+
if docker_shm_size:
|
|
452
|
+
backend_options["docker_shm_size"] = docker_shm_size
|
|
453
|
+
|
|
402
454
|
cluster = coiled.Cluster(
|
|
403
455
|
name=name,
|
|
404
456
|
workspace=workspace,
|
|
@@ -428,6 +480,7 @@ def _start_notebook(
|
|
|
428
480
|
unset_single_threading_variables=True,
|
|
429
481
|
pause_on_exit=resumable,
|
|
430
482
|
private_to_creator=private,
|
|
483
|
+
backend_options=backend_options or None, # type: ignore
|
|
431
484
|
)
|
|
432
485
|
info["cluster_id"] = cluster.cluster_id
|
|
433
486
|
|
|
@@ -576,6 +576,11 @@ def get_entrypoint(connection, container_name) -> str:
|
|
|
576
576
|
default=None,
|
|
577
577
|
help="Don't automatically mount SSD/NVMe (if any) to ``/scratch``.",
|
|
578
578
|
)
|
|
579
|
+
@click.option(
|
|
580
|
+
"--ami-version",
|
|
581
|
+
default=None,
|
|
582
|
+
help="Use non-default Coiled AMI, e.g. 'DL' for the Deep Learning Base OSS Nvidia Driver GPU AMI.",
|
|
583
|
+
)
|
|
579
584
|
@click.option(
|
|
580
585
|
"--filestore",
|
|
581
586
|
"filestore_names",
|
|
@@ -614,6 +619,7 @@ def run(
|
|
|
614
619
|
package_sync_conda_extras,
|
|
615
620
|
docker_shm_size,
|
|
616
621
|
skip_ssd_mount,
|
|
622
|
+
ami_version,
|
|
617
623
|
filestore_names,
|
|
618
624
|
command,
|
|
619
625
|
):
|
|
@@ -650,6 +656,7 @@ def run(
|
|
|
650
656
|
package_sync_strict=package_sync_strict,
|
|
651
657
|
package_sync_conda_extras=package_sync_conda_extras,
|
|
652
658
|
docker_shm_size=docker_shm_size,
|
|
659
|
+
ami_version=ami_version,
|
|
653
660
|
filestore_names=filestore_names,
|
|
654
661
|
skip_ssd_mount=skip_ssd_mount,
|
|
655
662
|
)
|
|
@@ -691,6 +698,7 @@ def start_run(
|
|
|
691
698
|
docker_shm_size: str | None = None,
|
|
692
699
|
filestore_names: list[str] | None = None,
|
|
693
700
|
skip_ssd_mount: bool | None = None,
|
|
701
|
+
ami_version: str | None = None,
|
|
694
702
|
):
|
|
695
703
|
runtime_env_dict = dict_from_key_val_list(env)
|
|
696
704
|
tags = dict_from_key_val_list(tag)
|
|
@@ -761,6 +769,13 @@ def start_run(
|
|
|
761
769
|
workspace=workspace,
|
|
762
770
|
)
|
|
763
771
|
info["workspace"] = workspace
|
|
772
|
+
|
|
773
|
+
backend_options = {}
|
|
774
|
+
if ami_version:
|
|
775
|
+
backend_options["ami_version"] = ami_version
|
|
776
|
+
if docker_shm_size:
|
|
777
|
+
backend_options["docker_shm_size"] = docker_shm_size
|
|
778
|
+
|
|
764
779
|
cluster_kwargs: ClusterKwargs = {
|
|
765
780
|
"workspace": workspace,
|
|
766
781
|
"n_workers": 0,
|
|
@@ -785,7 +800,7 @@ def start_run(
|
|
|
785
800
|
"host_setup_script": host_setup_script,
|
|
786
801
|
"package_sync_strict": package_sync_strict,
|
|
787
802
|
"package_sync_conda_extras": package_sync_conda_extras,
|
|
788
|
-
"backend_options":
|
|
803
|
+
"backend_options": backend_options or None, # type: ignore
|
|
789
804
|
"unset_single_threading_variables": True,
|
|
790
805
|
"skip_ssd_mount": skip_ssd_mount,
|
|
791
806
|
"filestores_to_attach": filestores_to_attach,
|
|
@@ -447,6 +447,10 @@ class AWSOptions(BackendOptions, total=False):
|
|
|
447
447
|
ami_version
|
|
448
448
|
Use non-default type of AMI.
|
|
449
449
|
Supported options include "DL" for the Deep Learning Base OSS Nvidia Driver GPU AMI.
|
|
450
|
+
capacity_reservation_id
|
|
451
|
+
Use specified existing Capacity Reservation.
|
|
452
|
+
capacity_reservation_group_arn
|
|
453
|
+
Use specified existing Capacity Reservation group.
|
|
450
454
|
"""
|
|
451
455
|
|
|
452
456
|
keypair_name: Optional[str]
|
|
@@ -455,6 +459,8 @@ class AWSOptions(BackendOptions, total=False):
|
|
|
455
459
|
use_efa: Optional[bool]
|
|
456
460
|
use_worker_efa: Optional[bool]
|
|
457
461
|
ami_version: Optional[str]
|
|
462
|
+
capacity_reservation_id: Optional[str]
|
|
463
|
+
capacity_reservation_group_arn: Optional[str]
|
|
458
464
|
|
|
459
465
|
|
|
460
466
|
class GCPOptions(BackendOptions, total=False):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|