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.
Files changed (103) hide show
  1. {proximl-0.5.1/proximl.egg-info → proximl-0.5.2}/PKG-INFO +1 -1
  2. {proximl-0.5.1 → proximl-0.5.2}/proximl/__init__.py +1 -1
  3. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/dataset.py +1 -3
  4. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/job/create.py +3 -3
  5. {proximl-0.5.1 → proximl-0.5.2}/proximl/datasets.py +4 -11
  6. {proximl-0.5.1 → proximl-0.5.2/proximl.egg-info}/PKG-INFO +1 -1
  7. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_jobs_integration.py +3 -7
  8. {proximl-0.5.1 → proximl-0.5.2}/LICENSE +0 -0
  9. {proximl-0.5.1 → proximl-0.5.2}/README.md +0 -0
  10. {proximl-0.5.1 → proximl-0.5.2}/examples/__init__.py +0 -0
  11. {proximl-0.5.1 → proximl-0.5.2}/examples/create_dataset_and_training_job.py +0 -0
  12. {proximl-0.5.1 → proximl-0.5.2}/examples/local_storage.py +0 -0
  13. {proximl-0.5.1 → proximl-0.5.2}/examples/training_inference_pipeline.py +0 -0
  14. {proximl-0.5.1 → proximl-0.5.2}/proximl/__main__.py +0 -0
  15. {proximl-0.5.1 → proximl-0.5.2}/proximl/auth.py +0 -0
  16. {proximl-0.5.1 → proximl-0.5.2}/proximl/checkpoints.py +0 -0
  17. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/__init__.py +0 -0
  18. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/checkpoint.py +0 -0
  19. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/__init__.py +0 -0
  20. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/datastore.py +0 -0
  21. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/device.py +0 -0
  22. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/node.py +0 -0
  23. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/provider.py +0 -0
  24. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/region.py +0 -0
  25. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/cloudbender/reservation.py +0 -0
  26. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/connection.py +0 -0
  27. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/environment.py +0 -0
  28. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/gpu.py +0 -0
  29. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/job/__init__.py +0 -0
  30. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/model.py +0 -0
  31. {proximl-0.5.1 → proximl-0.5.2}/proximl/cli/project.py +0 -0
  32. {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/__init__.py +0 -0
  33. {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/cloudbender.py +0 -0
  34. {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/datastores.py +0 -0
  35. {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/device_configs.py +0 -0
  36. {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/devices.py +0 -0
  37. {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/nodes.py +0 -0
  38. {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/providers.py +0 -0
  39. {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/regions.py +0 -0
  40. {proximl-0.5.1 → proximl-0.5.2}/proximl/cloudbender/reservations.py +0 -0
  41. {proximl-0.5.1 → proximl-0.5.2}/proximl/connections.py +0 -0
  42. {proximl-0.5.1 → proximl-0.5.2}/proximl/environments.py +0 -0
  43. {proximl-0.5.1 → proximl-0.5.2}/proximl/exceptions.py +0 -0
  44. {proximl-0.5.1 → proximl-0.5.2}/proximl/gpu_types.py +0 -0
  45. {proximl-0.5.1 → proximl-0.5.2}/proximl/jobs.py +0 -0
  46. {proximl-0.5.1 → proximl-0.5.2}/proximl/models.py +0 -0
  47. {proximl-0.5.1 → proximl-0.5.2}/proximl/projects.py +0 -0
  48. {proximl-0.5.1 → proximl-0.5.2}/proximl/proximl.py +0 -0
  49. {proximl-0.5.1 → proximl-0.5.2}/proximl.egg-info/SOURCES.txt +0 -0
  50. {proximl-0.5.1 → proximl-0.5.2}/proximl.egg-info/dependency_links.txt +0 -0
  51. {proximl-0.5.1 → proximl-0.5.2}/proximl.egg-info/entry_points.txt +0 -0
  52. {proximl-0.5.1 → proximl-0.5.2}/proximl.egg-info/requires.txt +0 -0
  53. {proximl-0.5.1 → proximl-0.5.2}/proximl.egg-info/top_level.txt +0 -0
  54. {proximl-0.5.1 → proximl-0.5.2}/pyproject.toml +0 -0
  55. {proximl-0.5.1 → proximl-0.5.2}/setup.cfg +0 -0
  56. {proximl-0.5.1 → proximl-0.5.2}/setup.py +0 -0
  57. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/__init__.py +0 -0
  58. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/cloudbender/__init__.py +0 -0
  59. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/cloudbender/test_providers_integration.py +0 -0
  60. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/conftest.py +0 -0
  61. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_checkpoints_integration.py +0 -0
  62. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_datasets_integration.py +0 -0
  63. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_environments_integration.py +0 -0
  64. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_gpu_types_integration.py +0 -0
  65. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_models_integration.py +0 -0
  66. {proximl-0.5.1 → proximl-0.5.2}/tests/integration/test_projects_integration.py +0 -0
  67. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/__init__.py +0 -0
  68. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/__init__.py +0 -0
  69. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/__init__.py +0 -0
  70. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_datastore_unit.py +0 -0
  71. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_device_unit.py +0 -0
  72. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_node_unit.py +0 -0
  73. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_provider_unit.py +0 -0
  74. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_region_unit.py +0 -0
  75. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/cloudbender/test_cli_reservation_unit.py +0 -0
  76. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/conftest.py +0 -0
  77. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_checkpoint_unit.py +0 -0
  78. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_datasets_unit.py +0 -0
  79. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_environment_unit.py +0 -0
  80. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_gpu_unit.py +0 -0
  81. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_job_unit.py +0 -0
  82. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_model_unit.py +0 -0
  83. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cli/test_cli_project_unit.py +0 -0
  84. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/__init__.py +0 -0
  85. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_datastores_unit.py +0 -0
  86. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_device_configs_unit.py +0 -0
  87. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_devices_unit.py +0 -0
  88. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_nodes_unit.py +0 -0
  89. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_providers_unit.py +0 -0
  90. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_regions_unit.py +0 -0
  91. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/cloudbender/test_reservations_unit.py +0 -0
  92. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/conftest.py +0 -0
  93. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_auth.py +0 -0
  94. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_checkpoints_unit.py +0 -0
  95. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_connections_unit.py +0 -0
  96. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_datasets_unit.py +0 -0
  97. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_environments_unit.py +0 -0
  98. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_exceptions.py +0 -0
  99. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_gpu_types_unit.py +0 -0
  100. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_jobs_unit.py +0 -0
  101. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_models_unit.py +0 -0
  102. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_projects_unit.py +0 -0
  103. {proximl-0.5.1 → proximl-0.5.2}/tests/unit/test_proximl.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: proximl
3
- Version: 0.5.1
3
+ Version: 0.5.2
4
4
  Summary: proxiML client SDK and command line utilities
5
5
  Home-page: https://github.com/proxiML/python-sdk
6
6
  Author: proxiML
@@ -13,5 +13,5 @@ logging.basicConfig(
13
13
  logger = logging.getLogger(__name__)
14
14
 
15
15
 
16
- __version__ = "0.5.1"
16
+ __version__ = "0.5.2"
17
17
  __all__ = "ProxiML"
@@ -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
- gpu_type=gpu_type,
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
- gpu_type=gpu_type,
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
- gpu_type=gpu_type,
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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: proximl
3
- Version: 0.5.1
3
+ Version: 0.5.2
4
4
  Summary: proxiML client SDK and command line utilities
5
5
  Home-page: https://github.com/proxiML/python-sdk
6
6
  Author: proxiML
@@ -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 >= 500000
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