cloudos-cli 2.77.0__tar.gz → 2.79.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.
Files changed (71) hide show
  1. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/PKG-INFO +26 -2
  2. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/README.md +25 -1
  3. cloudos_cli-2.79.0/cloudos_cli/__main__.py +68 -0
  4. cloudos_cli-2.79.0/cloudos_cli/_version.py +1 -0
  5. cloudos_cli-2.79.0/cloudos_cli/bash/__init__.py +1 -0
  6. cloudos_cli-2.79.0/cloudos_cli/bash/cli.py +566 -0
  7. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/clos.py +77 -80
  8. cloudos_cli-2.79.0/cloudos_cli/configure/cli.py +49 -0
  9. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/configure/configure.py +14 -18
  10. cloudos_cli-2.79.0/cloudos_cli/constants.py +24 -0
  11. cloudos_cli-2.79.0/cloudos_cli/cromwell/__init__.py +1 -0
  12. cloudos_cli-2.79.0/cloudos_cli/cromwell/cli.py +217 -0
  13. cloudos_cli-2.79.0/cloudos_cli/datasets/cli.py +850 -0
  14. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/datasets/datasets.py +1 -1
  15. cloudos_cli-2.79.0/cloudos_cli/jobs/cli.py +1889 -0
  16. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/jobs/job.py +5 -5
  17. cloudos_cli-2.79.0/cloudos_cli/link/cli.py +171 -0
  18. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/link/link.py +44 -44
  19. cloudos_cli-2.79.0/cloudos_cli/procurement/cli.py +211 -0
  20. cloudos_cli-2.79.0/cloudos_cli/projects/__init__.py +1 -0
  21. cloudos_cli-2.79.0/cloudos_cli/projects/cli.py +175 -0
  22. cloudos_cli-2.79.0/cloudos_cli/queue/cli.py +84 -0
  23. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/related_analyses/related_analyses.py +2 -2
  24. cloudos_cli-2.79.0/cloudos_cli/utils/cli_helpers.py +87 -0
  25. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/utils/details.py +25 -25
  26. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/utils/errors.py +2 -2
  27. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/utils/last_wf.py +5 -5
  28. cloudos_cli-2.79.0/cloudos_cli/workflows/__init__.py +1 -0
  29. cloudos_cli-2.79.0/cloudos_cli/workflows/cli.py +154 -0
  30. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli.egg-info/PKG-INFO +26 -2
  31. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli.egg-info/SOURCES.txt +16 -0
  32. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/tests/test_cli_project_create.py +7 -7
  33. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/tests/test_cost/test_job_cost.py +54 -50
  34. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/tests/test_error_messages.py +1 -1
  35. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/tests/test_related_analyses/test_related_analyses.py +17 -17
  36. cloudos_cli-2.77.0/cloudos_cli/__main__.py +0 -4346
  37. cloudos_cli-2.77.0/cloudos_cli/_version.py +0 -1
  38. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/LICENSE +0 -0
  39. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/__init__.py +0 -0
  40. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/configure/__init__.py +0 -0
  41. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/cost/__init__.py +0 -0
  42. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/cost/cost.py +0 -0
  43. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/datasets/__init__.py +0 -0
  44. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/import_wf/__init__.py +0 -0
  45. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/import_wf/import_wf.py +0 -0
  46. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/jobs/__init__.py +0 -0
  47. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/link/__init__.py +0 -0
  48. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/logging/__init__.py +0 -0
  49. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/logging/logger.py +0 -0
  50. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/procurement/__init__.py +0 -0
  51. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/procurement/images.py +0 -0
  52. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/queue/__init__.py +0 -0
  53. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/queue/queue.py +0 -0
  54. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/related_analyses/__init__.py +0 -0
  55. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/utils/__init__.py +0 -0
  56. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/utils/array_job.py +0 -0
  57. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/utils/cloud.py +0 -0
  58. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/utils/requests.py +0 -0
  59. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli/utils/resources.py +0 -0
  60. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli.egg-info/dependency_links.txt +0 -0
  61. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli.egg-info/entry_points.txt +0 -0
  62. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli.egg-info/requires.txt +0 -0
  63. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/cloudos_cli.egg-info/top_level.txt +0 -0
  64. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/setup.cfg +0 -0
  65. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/setup.py +0 -0
  66. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/tests/__init__.py +0 -0
  67. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/tests/functions_for_pytest.py +0 -0
  68. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/tests/test_cost/__init__.py +0 -0
  69. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/tests/test_logging/__init__.py +0 -0
  70. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/tests/test_logging/test_logger.py +0 -0
  71. {cloudos_cli-2.77.0 → cloudos_cli-2.79.0}/tests/test_related_analyses/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudos_cli
3
- Version: 2.77.0
3
+ Version: 2.79.0
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
@@ -969,7 +969,8 @@ cloudos job resume \
969
969
 
970
970
  Aborts jobs in the CloudOS workspace that are either running or initializing. It can be used with one or more job IDs provided as a comma-separated string using the `--job-ids` parameter.
971
971
 
972
- Example:
972
+ ##### Basic Usage
973
+
973
974
  ```bash
974
975
  cloudos job abort --profile my_profile --job-ids "680a3cf80e56949775c02f16"
975
976
  ```
@@ -979,6 +980,29 @@ Aborting jobs...
979
980
  Job 680a3cf80e56949775c02f16 aborted successfully.
980
981
  ```
981
982
 
983
+ ##### Force Abort
984
+
985
+ The `--force` flag allows you to abort jobs faster as it removes the running infrastructure. When using this flag, be aware that some data might be lost (it could be results or logs, based on what the job is performing at the moment of the forced abort).
986
+
987
+ ```bash
988
+ cloudos job abort --profile my_profile --job-ids "680a3cf80e56949775c02f16" --force
989
+ ```
990
+
991
+ ```console
992
+ Aborting jobs...
993
+ Warning: Using --force to abort job 680a3cf80e56949775c02f16. Some data might be lost.
994
+ Job 680a3cf80e56949775c02f16 aborted successfully.
995
+ ```
996
+
997
+ ##### Additional Options
998
+
999
+ - `--workspace-id`: The CloudOS workspace ID (can be set in profile)
1000
+ - `--apikey`: Your CloudOS API key (can be set in profile)
1001
+ - `--cloudos-url`: The CloudOS URL (default: https://cloudos.lifebit.ai)
1002
+ - `--verbose`: Print detailed information messages
1003
+ - `--disable-ssl-verification`: Disable SSL certificate verification (not recommended)
1004
+ - `--ssl-cert`: Path to your SSL certificate file
1005
+
982
1006
  #### Get Job Details
983
1007
 
984
1008
  Details of a job, including cost, status, and timestamps, can be retrieved with:
@@ -934,7 +934,8 @@ cloudos job resume \
934
934
 
935
935
  Aborts jobs in the CloudOS workspace that are either running or initializing. It can be used with one or more job IDs provided as a comma-separated string using the `--job-ids` parameter.
936
936
 
937
- Example:
937
+ ##### Basic Usage
938
+
938
939
  ```bash
939
940
  cloudos job abort --profile my_profile --job-ids "680a3cf80e56949775c02f16"
940
941
  ```
@@ -944,6 +945,29 @@ Aborting jobs...
944
945
  Job 680a3cf80e56949775c02f16 aborted successfully.
945
946
  ```
946
947
 
948
+ ##### Force Abort
949
+
950
+ The `--force` flag allows you to abort jobs faster as it removes the running infrastructure. When using this flag, be aware that some data might be lost (it could be results or logs, based on what the job is performing at the moment of the forced abort).
951
+
952
+ ```bash
953
+ cloudos job abort --profile my_profile --job-ids "680a3cf80e56949775c02f16" --force
954
+ ```
955
+
956
+ ```console
957
+ Aborting jobs...
958
+ Warning: Using --force to abort job 680a3cf80e56949775c02f16. Some data might be lost.
959
+ Job 680a3cf80e56949775c02f16 aborted successfully.
960
+ ```
961
+
962
+ ##### Additional Options
963
+
964
+ - `--workspace-id`: The CloudOS workspace ID (can be set in profile)
965
+ - `--apikey`: Your CloudOS API key (can be set in profile)
966
+ - `--cloudos-url`: The CloudOS URL (default: https://cloudos.lifebit.ai)
967
+ - `--verbose`: Print detailed information messages
968
+ - `--disable-ssl-verification`: Disable SSL certificate verification (not recommended)
969
+ - `--ssl-cert`: Path to your SSL certificate file
970
+
947
971
  #### Get Job Details
948
972
 
949
973
  Details of a job, including cost, status, and timestamps, can be retrieved with:
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env python3
2
+
3
+ import rich_click as click
4
+ import sys
5
+ from ._version import __version__
6
+ from cloudos_cli.logging.logger import update_command_context_from_click
7
+ from cloudos_cli.configure.configure import (
8
+ build_default_map_for_group,
9
+ get_shared_config
10
+ )
11
+ from cloudos_cli.utils.cli_helpers import (
12
+ custom_exception_handler,
13
+ pass_debug_to_subcommands,
14
+ setup_debug
15
+ )
16
+
17
+ # Import all command groups from their cli modules
18
+ from cloudos_cli.jobs.cli import job
19
+ from cloudos_cli.workflows.cli import workflow
20
+ from cloudos_cli.projects.cli import project
21
+ from cloudos_cli.cromwell.cli import cromwell
22
+ from cloudos_cli.queue.cli import queue
23
+ from cloudos_cli.bash.cli import bash
24
+ from cloudos_cli.procurement.cli import procurement
25
+ from cloudos_cli.datasets.cli import datasets
26
+ from cloudos_cli.configure.cli import configure
27
+ from cloudos_cli.link.cli import link
28
+
29
+
30
+ # Install the custom exception handler
31
+ sys.excepthook = custom_exception_handler
32
+
33
+
34
+ @click.group(cls=pass_debug_to_subcommands())
35
+ @click.option('--debug', is_flag=True, help='Show detailed error information and tracebacks',
36
+ is_eager=True, expose_value=False, callback=setup_debug)
37
+ @click.version_option(__version__)
38
+ @click.pass_context
39
+ def run_cloudos_cli(ctx):
40
+ """CloudOS python package: a package for interacting with CloudOS."""
41
+ update_command_context_from_click(ctx)
42
+ ctx.ensure_object(dict)
43
+
44
+ if ctx.invoked_subcommand not in ['datasets']:
45
+ print(run_cloudos_cli.__doc__ + '\n')
46
+ print('Version: ' + __version__ + '\n')
47
+
48
+ # Load shared configuration (handles missing profiles and fields gracefully)
49
+ shared_config = get_shared_config()
50
+
51
+ # Automatically build default_map from registered commands
52
+ ctx.default_map = build_default_map_for_group(run_cloudos_cli, shared_config)
53
+
54
+
55
+ # Register all command groups
56
+ run_cloudos_cli.add_command(job)
57
+ run_cloudos_cli.add_command(workflow)
58
+ run_cloudos_cli.add_command(project)
59
+ run_cloudos_cli.add_command(cromwell)
60
+ run_cloudos_cli.add_command(queue)
61
+ run_cloudos_cli.add_command(bash)
62
+ run_cloudos_cli.add_command(procurement)
63
+ run_cloudos_cli.add_command(datasets)
64
+ run_cloudos_cli.add_command(configure)
65
+ run_cloudos_cli.add_command(link)
66
+
67
+ if __name__ == '__main__':
68
+ run_cloudos_cli()
@@ -0,0 +1 @@
1
+ __version__ = '2.79.0'
@@ -0,0 +1 @@
1
+ """Bash job-related CLI commands."""