cloudos-cli 2.18.0__tar.gz → 2.19.1__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 (47) hide show
  1. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/PKG-INFO +9 -6
  2. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/README.md +5 -4
  3. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli/__main__.py +29 -6
  4. cloudos_cli-2.19.1/cloudos_cli/_version.py +1 -0
  5. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli/clos.py +1 -1
  6. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli/jobs/job.py +1 -1
  7. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli.egg-info/PKG-INFO +9 -6
  8. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli.egg-info/requires.txt +1 -0
  9. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/setup.py +1 -1
  10. cloudos_cli-2.18.0/cloudos_cli/_version.py +0 -1
  11. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/LICENSE +0 -0
  12. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli/__init__.py +0 -0
  13. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli/jobs/__init__.py +0 -0
  14. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli/queue/__init__.py +0 -0
  15. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli/queue/queue.py +0 -0
  16. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli/utils/__init__.py +0 -0
  17. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli/utils/errors.py +0 -0
  18. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli/utils/requests.py +0 -0
  19. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli.egg-info/SOURCES.txt +0 -0
  20. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli.egg-info/dependency_links.txt +0 -0
  21. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli.egg-info/entry_points.txt +0 -0
  22. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/cloudos_cli.egg-info/top_level.txt +0 -0
  23. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/setup.cfg +0 -0
  24. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/__init__.py +0 -0
  25. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/functions_for_pytest.py +0 -0
  26. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/__init__.py +0 -0
  27. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_create_cromwell_header.py +0 -0
  28. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_cromwell_switch.py +0 -0
  29. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_detect_workflow.py +0 -0
  30. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_get_cromwell_status.py +0 -0
  31. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_get_curated_workflow_list.py +0 -0
  32. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_get_job_list.py +0 -0
  33. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_get_job_status.py +0 -0
  34. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_get_project_list.py +0 -0
  35. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_get_user_info.py +0 -0
  36. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_get_workflow_list.py +0 -0
  37. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_is_module.py +0 -0
  38. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_process_job_list.py +0 -0
  39. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_process_project_list.py +0 -0
  40. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_process_workflow_list.py +0 -0
  41. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_wait_job_completion.py +0 -0
  42. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_clos/test_workflow_import.py +0 -0
  43. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_jobs/__init__.py +0 -0
  44. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_jobs/test_convert_nextflow_to_json.py +0 -0
  45. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_jobs/test_project_id.py +0 -0
  46. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_jobs/test_send_job.py +0 -0
  47. {cloudos_cli-2.18.0 → cloudos_cli-2.19.1}/tests/test_jobs/test_workflow_id.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: cloudos_cli
3
- Version: 2.18.0
3
+ Version: 2.19.1
4
4
  Summary: Python package for interacting with CloudOS
5
5
  Home-page: https://github.com/lifebit-ai/cloudos-cli
6
6
  Author: David Piñeyro
@@ -12,6 +12,7 @@ Requires-Python: >=3.7
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
14
  Requires-Dist: click>=8.0.1
15
+ Requires-Dist: rich-click>=1.8.2
15
16
  Requires-Dist: pandas>=1.3.4
16
17
  Requires-Dist: numpy==1.26.4
17
18
  Requires-Dist: requests>=2.26.0
@@ -26,6 +27,7 @@ Dynamic: classifier
26
27
  Dynamic: description
27
28
  Dynamic: description-content-type
28
29
  Dynamic: home-page
30
+ Dynamic: license-file
29
31
  Dynamic: provides-extra
30
32
  Dynamic: requires-dist
31
33
  Dynamic: requires-python
@@ -46,6 +48,7 @@ click>=8.0.1
46
48
  pandas>=1.3.4
47
49
  numpy==1.26.4
48
50
  requests>=2.26.0
51
+ rich_click>=1.8.2
49
52
  ```
50
53
 
51
54
  ## Installation
@@ -282,10 +285,10 @@ If everything went well, you should see something like:
282
285
 
283
286
  ```console
284
287
  Executing run...
285
- Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/jobs/62c83a1191fe06013b7ef355
288
+ Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a1191fe06013b7ef355
286
289
  Your assigned job id is: 62c83a1191fe06013b7ef355
287
290
  Your current job status is: initializing
288
- To further check your job status you can either go to https://cloudos.lifebit.ai/app/jobs/62c83a1191fe06013b7ef355 or use the following command:
291
+ To further check your job status you can either go to https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a1191fe06013b7ef355 or use the following command:
289
292
  cloudos job status \
290
293
  --apikey $MY_API_KEY \
291
294
  --cloudos-url https://cloudos.lifebit.ai \
@@ -318,7 +321,7 @@ previous command should have an output similar to:
318
321
 
319
322
  ```console
320
323
  Executing run...
321
- Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/jobs/62c83a6191fe06013b7ef363
324
+ Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a6191fe06013b7ef363
322
325
  Your assigned job id is: 62c83a6191fe06013b7ef363
323
326
  Please, wait until job completion or max wait time of 3600 seconds is reached.
324
327
  Your current job status is: initializing.
@@ -420,7 +423,7 @@ The expected output should be something similar to:
420
423
  Executing status...
421
424
  Your current job status is: completed
422
425
 
423
- To further check your job status you can either go to https://cloudos.lifebit.ai/app/jobs/62c83a1191fe06013b7ef355 or repeat the command you just used.
426
+ To further check your job status you can either go to https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a1191fe06013b7ef355 or repeat the command you just used.
424
427
  ```
425
428
 
426
429
  #### Get a list of your jobs from a CloudOS workspace
@@ -13,6 +13,7 @@ click>=8.0.1
13
13
  pandas>=1.3.4
14
14
  numpy==1.26.4
15
15
  requests>=2.26.0
16
+ rich_click>=1.8.2
16
17
  ```
17
18
 
18
19
  ## Installation
@@ -249,10 +250,10 @@ If everything went well, you should see something like:
249
250
 
250
251
  ```console
251
252
  Executing run...
252
- Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/jobs/62c83a1191fe06013b7ef355
253
+ Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a1191fe06013b7ef355
253
254
  Your assigned job id is: 62c83a1191fe06013b7ef355
254
255
  Your current job status is: initializing
255
- To further check your job status you can either go to https://cloudos.lifebit.ai/app/jobs/62c83a1191fe06013b7ef355 or use the following command:
256
+ To further check your job status you can either go to https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a1191fe06013b7ef355 or use the following command:
256
257
  cloudos job status \
257
258
  --apikey $MY_API_KEY \
258
259
  --cloudos-url https://cloudos.lifebit.ai \
@@ -285,7 +286,7 @@ previous command should have an output similar to:
285
286
 
286
287
  ```console
287
288
  Executing run...
288
- Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/jobs/62c83a6191fe06013b7ef363
289
+ Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a6191fe06013b7ef363
289
290
  Your assigned job id is: 62c83a6191fe06013b7ef363
290
291
  Please, wait until job completion or max wait time of 3600 seconds is reached.
291
292
  Your current job status is: initializing.
@@ -387,7 +388,7 @@ The expected output should be something similar to:
387
388
  Executing status...
388
389
  Your current job status is: completed
389
390
 
390
- To further check your job status you can either go to https://cloudos.lifebit.ai/app/jobs/62c83a1191fe06013b7ef355 or repeat the command you just used.
391
+ To further check your job status you can either go to https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a1191fe06013b7ef355 or repeat the command you just used.
391
392
  ```
392
393
 
393
394
  #### Get a list of your jobs from a CloudOS workspace
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env python3
2
2
 
3
- import click
3
+ import rich_click as click
4
4
  import cloudos_cli.jobs.job as jb
5
5
  from cloudos_cli.clos import Cloudos
6
6
  from cloudos_cli.queue.queue import Queue
@@ -18,6 +18,12 @@ JOB_FAILED = 'failed'
18
18
  JOB_ABORTED = 'aborted'
19
19
  JOB_RUNNING = 'running'
20
20
  REQUEST_INTERVAL_CROMWELL = 30
21
+ AWS_NEXTFLOW_VERSIONS = ['22.10.8', '24.04.4']
22
+ AZURE_NEXTFLOW_VERSIONS = ['22.11.1-edge']
23
+ HPC_NEXTFLOW_VERSIONS = ['22.10.8']
24
+ AWS_NEXTFLOW_LATEST = '24.04.4'
25
+ AZURE_NEXTFLOW_LATEST = '22.11.1-edge'
26
+ HPC_NEXTFLOW_LATEST = '22.10.8'
21
27
 
22
28
 
23
29
  def ssl_selector(disable_ssl_verification, ssl_cert):
@@ -126,7 +132,7 @@ def queue():
126
132
  help=('Nextflow version to use when executing the workflow in CloudOS. ' +
127
133
  'Please, note that versions above 22.10.8 are only DSL2 compatible. ' +
128
134
  'Default=22.10.8.'),
129
- type=click.Choice(['22.10.8', '24.04.4', 'latest']),
135
+ type=click.Choice(['22.10.8', '24.04.4', '22.11.1-edge', 'latest']),
130
136
  default='22.10.8')
131
137
  @click.option('--git-commit',
132
138
  help=('The exact whole 40 character commit hash to run for ' +
@@ -410,9 +416,26 @@ def run(apikey,
410
416
  else:
411
417
  docker_login = False
412
418
  if nextflow_version == 'latest':
413
- nextflow_version = '24.04.4'
414
- print('[Message] You have specified Nextflow version \'latest\'. The workflow will use the ' +
419
+ if execution_platform == 'aws':
420
+ nextflow_version = AWS_NEXTFLOW_LATEST
421
+ elif execution_platform == 'azure':
422
+ nextflow_version = AZURE_NEXTFLOW_LATEST
423
+ else:
424
+ nextflow_version = HPC_NEXTFLOW_LATEST
425
+ print(f'[Message] You have specified Nextflow version \'latest\' for execution platform \'{execution_platform}\'. The workflow will use the ' +
415
426
  f'latest version available on CloudOS: {nextflow_version}.')
427
+ if execution_platform == 'aws':
428
+ if nextflow_version not in AWS_NEXTFLOW_VERSIONS:
429
+ print(f'[Message] For execution platform \'aws\', the workflow will use the default \'22.10.8\' version on CloudOS.')
430
+ nextflow_version = '22.10.8'
431
+ if execution_platform == 'azure':
432
+ if nextflow_version not in AZURE_NEXTFLOW_VERSIONS:
433
+ print(f'[Message] For execution platform \'azure\', the workflow will use the \'22.11.1-edge\' version on CloudOS.')
434
+ nextflow_version = '22.11.1-edge'
435
+ if execution_platform == 'hpc':
436
+ if nextflow_version not in HPC_NEXTFLOW_VERSIONS:
437
+ print(f'[Message] For execution platform \'hpc\', the workflow will use the \'22.10.8\' version on CloudOS.')
438
+ nextflow_version = '22.10.8'
416
439
  if nextflow_version != '22.10.8':
417
440
  print(f'[Warning] You have specified Nextflow version {nextflow_version}. This version requires the pipeline ' +
418
441
  'to be written in DSL2 and does not support DSL1.')
@@ -443,7 +466,7 @@ def run(apikey,
443
466
  docker_login=docker_login,
444
467
  verify=verify_ssl)
445
468
  print(f'\tYour assigned job id is: {j_id}\n')
446
- j_url = f'{cloudos_url}/app/jobs/{j_id}'
469
+ j_url = f'{cloudos_url}/app/advanced-analytics/analyses/{j_id}'
447
470
  if wait_completion:
448
471
  print('\tPlease, wait until job completion (max wait time of ' +
449
472
  f'{wait_time} seconds).\n')
@@ -729,7 +752,7 @@ def job_status(apikey,
729
752
  j_status = cl.get_job_status(job_id, verify_ssl)
730
753
  j_status_h = json.loads(j_status.content)["status"]
731
754
  print(f'\tYour current job status is: {j_status_h}\n')
732
- j_url = f'{cloudos_url}/app/jobs/{job_id}'
755
+ j_url = f'{cloudos_url}/app/advanced-analytics/analyses/{job_id}'
733
756
  print(f'\tTo further check your job status you can either go to {j_url} ' +
734
757
  'or repeat the command you just used.')
735
758
 
@@ -0,0 +1 @@
1
+ __version__ = '2.19.1'
@@ -87,7 +87,7 @@ class Cloudos:
87
87
  : dict
88
88
  A dict with three elements collected from the job status: 'name', 'id', 'status'.
89
89
  """
90
- j_url = f'{self.cloudos_url}/app/jobs/{job_id}'
90
+ j_url = f'{self.cloudos_url}/app/advanced-analytics/analyses/{job_id}'
91
91
  elapsed = 0
92
92
  j_status_h_old = ''
93
93
  # make sure user doesn't surpass the wait time
@@ -544,5 +544,5 @@ class Job(Cloudos):
544
544
  raise BadRequestException(r)
545
545
  j_id = json.loads(r.content)["_id"]
546
546
  print('\tJob successfully launched to CloudOS, please check the ' +
547
- f'following link: {cloudos_url}/app/jobs/{j_id}')
547
+ f'following link: {cloudos_url}/app/advanced-analytics/analyses/{j_id}')
548
548
  return j_id
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: cloudos_cli
3
- Version: 2.18.0
3
+ Version: 2.19.1
4
4
  Summary: Python package for interacting with CloudOS
5
5
  Home-page: https://github.com/lifebit-ai/cloudos-cli
6
6
  Author: David Piñeyro
@@ -12,6 +12,7 @@ Requires-Python: >=3.7
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
14
  Requires-Dist: click>=8.0.1
15
+ Requires-Dist: rich-click>=1.8.2
15
16
  Requires-Dist: pandas>=1.3.4
16
17
  Requires-Dist: numpy==1.26.4
17
18
  Requires-Dist: requests>=2.26.0
@@ -26,6 +27,7 @@ Dynamic: classifier
26
27
  Dynamic: description
27
28
  Dynamic: description-content-type
28
29
  Dynamic: home-page
30
+ Dynamic: license-file
29
31
  Dynamic: provides-extra
30
32
  Dynamic: requires-dist
31
33
  Dynamic: requires-python
@@ -46,6 +48,7 @@ click>=8.0.1
46
48
  pandas>=1.3.4
47
49
  numpy==1.26.4
48
50
  requests>=2.26.0
51
+ rich_click>=1.8.2
49
52
  ```
50
53
 
51
54
  ## Installation
@@ -282,10 +285,10 @@ If everything went well, you should see something like:
282
285
 
283
286
  ```console
284
287
  Executing run...
285
- Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/jobs/62c83a1191fe06013b7ef355
288
+ Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a1191fe06013b7ef355
286
289
  Your assigned job id is: 62c83a1191fe06013b7ef355
287
290
  Your current job status is: initializing
288
- To further check your job status you can either go to https://cloudos.lifebit.ai/app/jobs/62c83a1191fe06013b7ef355 or use the following command:
291
+ To further check your job status you can either go to https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a1191fe06013b7ef355 or use the following command:
289
292
  cloudos job status \
290
293
  --apikey $MY_API_KEY \
291
294
  --cloudos-url https://cloudos.lifebit.ai \
@@ -318,7 +321,7 @@ previous command should have an output similar to:
318
321
 
319
322
  ```console
320
323
  Executing run...
321
- Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/jobs/62c83a6191fe06013b7ef363
324
+ Job successfully launched to CloudOS, please check the following link: https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a6191fe06013b7ef363
322
325
  Your assigned job id is: 62c83a6191fe06013b7ef363
323
326
  Please, wait until job completion or max wait time of 3600 seconds is reached.
324
327
  Your current job status is: initializing.
@@ -420,7 +423,7 @@ The expected output should be something similar to:
420
423
  Executing status...
421
424
  Your current job status is: completed
422
425
 
423
- To further check your job status you can either go to https://cloudos.lifebit.ai/app/jobs/62c83a1191fe06013b7ef355 or repeat the command you just used.
426
+ To further check your job status you can either go to https://cloudos.lifebit.ai/app/advanced-analytics/analyses/62c83a1191fe06013b7ef355 or repeat the command you just used.
424
427
  ```
425
428
 
426
429
  #### Get a list of your jobs from a CloudOS workspace
@@ -1,4 +1,5 @@
1
1
  click>=8.0.1
2
+ rich-click>=1.8.2
2
3
  pandas>=1.3.4
3
4
  numpy==1.26.4
4
5
  requests>=2.26.0
@@ -23,7 +23,7 @@ setuptools.setup(
23
23
  entry_points={"console_scripts": [
24
24
  "cloudos=cloudos_cli.__main__:run_cloudos_cli"
25
25
  ]},
26
- install_requires=["click>=8.0.1", "pandas>=1.3.4", "numpy==1.26.4", "requests>=2.26.0"],
26
+ install_requires=["click>=8.0.1", "rich-click>=1.8.2", "pandas>=1.3.4", "numpy==1.26.4", "requests>=2.26.0"],
27
27
  extras_require={
28
28
  "test": ["pytest", "mock", "responses", "requests_mock"]
29
29
  },
@@ -1 +0,0 @@
1
- __version__ = '2.18.0'
File without changes
File without changes