proximl 0.5.1__tar.gz → 0.5.2__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.
- {proximl-0.5.1/proximl.egg-info → proximl-0.5.2}/PKG-INFO +1 -1
- {proximl-0.5.1 → proximl-0.5.2}/proximl/__init__.py +1 -1
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/dataset.py +1 -3
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/job/create.py +3 -3
- {proximl-0.5.1 → proximl-0.5.2}/proximl/datasets.py +4 -11
- {proximl-0.5.1 → proximl-0.5.2/proximl.egg-info}/PKG-INFO +1 -1
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_jobs_integration.py +3 -7
- {proximl-0.5.1 → proximl-0.5.2}/LICENSE +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/README.md +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/examples/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/examples/create_dataset_and_training_job.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/examples/local_storage.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/examples/training_inference_pipeline.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/__main__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/auth.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/checkpoints.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/checkpoint.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/datastore.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/device.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/node.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/provider.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/region.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/reservation.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/connection.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/environment.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/gpu.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/job/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/model.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/project.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/cloudbender.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/datastores.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/device_configs.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/devices.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/nodes.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/providers.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/regions.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/reservations.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/connections.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/environments.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/exceptions.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/gpu_types.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/jobs.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/models.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/projects.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl/proximl.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl.egg-info/SOURCES.txt +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl.egg-info/dependency_links.txt +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl.egg-info/entry_points.txt +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl.egg-info/requires.txt +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/proximl.egg-info/top_level.txt +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/pyproject.toml +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/setup.cfg +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/setup.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/cloudbender/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/cloudbender/test_providers_integration.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/conftest.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_checkpoints_integration.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_datasets_integration.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_environments_integration.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_gpu_types_integration.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_models_integration.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_projects_integration.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_datastore_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_device_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_node_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_provider_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_region_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_reservation_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/conftest.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_checkpoint_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_datasets_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_environment_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_gpu_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_job_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_model_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_project_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/__init__.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_datastores_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_device_configs_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_devices_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_nodes_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_providers_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_regions_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_reservations_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/conftest.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_auth.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_checkpoints_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_connections_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_datasets_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_environments_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_exceptions.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_gpu_types_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_jobs_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_models_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_projects_unit.py +0 -0
- {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_proximl.py +0 -0
|
@@ -252,9 +252,7 @@ def rename(config, dataset, name):
|
|
|
252
252
|
DATASET may be specified by name or ID, but ID is preferred.
|
|
253
253
|
"""
|
|
254
254
|
try:
|
|
255
|
-
dataset = config.proximl.run(
|
|
256
|
-
config.proximl.client.datasets.get(dataset)
|
|
257
|
-
)
|
|
255
|
+
dataset = config.proximl.run(config.proximl.client.datasets.get(dataset))
|
|
258
256
|
if dataset is None:
|
|
259
257
|
raise click.UsageError("Cannot find specified dataset.")
|
|
260
258
|
except:
|
|
@@ -683,7 +683,7 @@ def training(
|
|
|
683
683
|
config.proximl.client.jobs.create(
|
|
684
684
|
name=name,
|
|
685
685
|
type="training",
|
|
686
|
-
|
|
686
|
+
gpu_types=gpu_type,
|
|
687
687
|
cpu_count=cpu_count,
|
|
688
688
|
disk_size=disk_size,
|
|
689
689
|
workers=[command for command in commands],
|
|
@@ -1021,7 +1021,7 @@ def inference(
|
|
|
1021
1021
|
config.proximl.client.jobs.create(
|
|
1022
1022
|
name=name,
|
|
1023
1023
|
type="inference",
|
|
1024
|
-
|
|
1024
|
+
gpu_types=gpu_type,
|
|
1025
1025
|
cpu_count=cpu_count,
|
|
1026
1026
|
disk_size=disk_size,
|
|
1027
1027
|
workers=[command],
|
|
@@ -1330,7 +1330,7 @@ def endpoint(
|
|
|
1330
1330
|
config.proximl.client.jobs.create(
|
|
1331
1331
|
name=name,
|
|
1332
1332
|
type="endpoint",
|
|
1333
|
-
|
|
1333
|
+
gpu_types=gpu_type,
|
|
1334
1334
|
cpu_count=cpu_count,
|
|
1335
1335
|
disk_size=disk_size,
|
|
1336
1336
|
endpoint=dict(routes=routes),
|
|
@@ -37,8 +37,7 @@ class Datasets(object):
|
|
|
37
37
|
source_type=source_type,
|
|
38
38
|
source_uri=source_uri,
|
|
39
39
|
source_options=kwargs.get("source_options"),
|
|
40
|
-
project_uuid=kwargs.get("project_uuid")
|
|
41
|
-
or self.proximl.active_project,
|
|
40
|
+
project_uuid=kwargs.get("project_uuid") or self.proximl.active_project,
|
|
42
41
|
)
|
|
43
42
|
payload = {k: v for k, v in data.items() if v is not None}
|
|
44
43
|
logging.info(f"Creating Dataset {name}")
|
|
@@ -119,9 +118,7 @@ class Dataset:
|
|
|
119
118
|
entity_type="dataset",
|
|
120
119
|
project_uuid=self._dataset.get("project_uuid"),
|
|
121
120
|
cidr=self._dataset.get("vpn").get("cidr"),
|
|
122
|
-
ssh_port=self._dataset.get("vpn")
|
|
123
|
-
.get("client")
|
|
124
|
-
.get("ssh_port"),
|
|
121
|
+
ssh_port=self._dataset.get("vpn").get("client").get("ssh_port"),
|
|
125
122
|
input_path=self._dataset.get("source_uri")
|
|
126
123
|
if self.status in ["new", "downloading"]
|
|
127
124
|
else None,
|
|
@@ -191,9 +188,7 @@ class Dataset:
|
|
|
191
188
|
if msg_handler:
|
|
192
189
|
msg_handler(data)
|
|
193
190
|
else:
|
|
194
|
-
timestamp = datetime.fromtimestamp(
|
|
195
|
-
int(data.get("time")) / 1000
|
|
196
|
-
)
|
|
191
|
+
timestamp = datetime.fromtimestamp(int(data.get("time")) / 1000)
|
|
197
192
|
print(
|
|
198
193
|
f"{timestamp.strftime('%m/%d/%Y, %H:%M:%S')}: {data.get('msg').rstrip()}"
|
|
199
194
|
)
|
|
@@ -230,9 +225,7 @@ class Dataset:
|
|
|
230
225
|
return
|
|
231
226
|
POLL_INTERVAL_MIN = 5
|
|
232
227
|
POLL_INTERVAL_MAX = 60
|
|
233
|
-
POLL_INTERVAL = max(
|
|
234
|
-
min(timeout / 60, POLL_INTERVAL_MAX), POLL_INTERVAL_MIN
|
|
235
|
-
)
|
|
228
|
+
POLL_INTERVAL = max(min(timeout / 60, POLL_INTERVAL_MAX), POLL_INTERVAL_MIN)
|
|
236
229
|
retry_count = math.ceil(timeout / POLL_INTERVAL)
|
|
237
230
|
count = 0
|
|
238
231
|
while count < retry_count:
|
|
@@ -191,8 +191,7 @@ class JobAPIResourceValidationTests:
|
|
|
191
191
|
disk_size=10,
|
|
192
192
|
)
|
|
193
193
|
assert (
|
|
194
|
-
"Invalid Request - CPU Count must be a multiple of 4"
|
|
195
|
-
in error.value.message
|
|
194
|
+
"Invalid Request - CPU Count must be a multiple of 4" in error.value.message
|
|
196
195
|
)
|
|
197
196
|
|
|
198
197
|
async def test_invalid_gpu_count_for_cpu(self, proximl):
|
|
@@ -431,7 +430,7 @@ class JobIOTests:
|
|
|
431
430
|
source_uri="git@github.com:proxiML/environment-tests.git",
|
|
432
431
|
)
|
|
433
432
|
await model.wait_for("ready", 300)
|
|
434
|
-
assert model.size >=
|
|
433
|
+
assert model.size >= 200000
|
|
435
434
|
|
|
436
435
|
job = await proximl.jobs.create(
|
|
437
436
|
"CLI Automated Tests - Training With proxiML Model Output",
|
|
@@ -588,10 +587,7 @@ class JobTypeTests:
|
|
|
588
587
|
sys.stderr.write(captured.err)
|
|
589
588
|
assert "Epoch 1/2" in captured.out
|
|
590
589
|
assert "Epoch 2/2" in captured.out
|
|
591
|
-
assert
|
|
592
|
-
"Uploading s3://proximl-example/output/resnet_cifar10"
|
|
593
|
-
in captured.out
|
|
594
|
-
)
|
|
590
|
+
assert "Uploading s3://proximl-example/output/resnet_cifar10" in captured.out
|
|
595
591
|
assert (
|
|
596
592
|
"upload: ./model.ckpt-0002.data-00000-of-00001 to s3://proximl-example/output/resnet_cifar10/model.ckpt-0002.data-00000-of-00001"
|
|
597
593
|
in captured.out
|
|
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
|