cloudos-cli 2.74.0__tar.gz → 2.75.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.
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/PKG-INFO +103 -36
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/README.md +102 -35
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/__main__.py +101 -61
- cloudos_cli-2.75.1/cloudos_cli/_version.py +1 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/clos.py +20 -15
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/cost/cost.py +1 -1
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/jobs/job.py +8 -8
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/link/link.py +2 -2
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/utils/details.py +313 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli.egg-info/PKG-INFO +103 -36
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli.egg-info/SOURCES.txt +1 -0
- cloudos_cli-2.75.1/tests/test_error_messages.py +856 -0
- cloudos_cli-2.74.0/cloudos_cli/_version.py +0 -1
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/LICENSE +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/configure/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/configure/configure.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/cost/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/datasets/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/datasets/datasets.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/import_wf/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/import_wf/import_wf.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/jobs/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/link/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/logging/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/logging/logger.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/procurement/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/procurement/images.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/queue/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/queue/queue.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/related_analyses/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/related_analyses/related_analyses.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/utils/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/utils/array_job.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/utils/cloud.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/utils/errors.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/utils/last_wf.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/utils/requests.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli/utils/resources.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli.egg-info/dependency_links.txt +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli.egg-info/entry_points.txt +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli.egg-info/requires.txt +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/cloudos_cli.egg-info/top_level.txt +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/setup.cfg +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/setup.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/tests/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/tests/functions_for_pytest.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/tests/test_cli_project_create.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/tests/test_cost/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/tests/test_cost/test_job_cost.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/tests/test_logging/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/tests/test_logging/test_logger.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/tests/test_related_analyses/__init__.py +0 -0
- {cloudos_cli-2.74.0 → cloudos_cli-2.75.1}/tests/test_related_analyses/test_related_analyses.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cloudos_cli
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.75.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
|
|
@@ -1004,37 +1004,65 @@ cloudos job workdir --status --profile my_profile --job-id "12345678910" --verbo
|
|
|
1004
1004
|
|
|
1005
1005
|
#### List Jobs
|
|
1006
1006
|
|
|
1007
|
-
|
|
1007
|
+
View your workspace jobs in a clean, formatted table directly in your terminal. The table automatically adapts to your terminal width, showing different column sets for optimal viewing. By default, jobs are displayed as a rich table with job IDs and colored visual status indicators.
|
|
1008
1008
|
|
|
1009
|
-
|
|
1010
|
-
- JSON: all the available information from the workspace jobs, in JSON format (`--all-fields` is always enabled for this format).
|
|
1009
|
+
**Output Formats**
|
|
1011
1010
|
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
CloudOS CLI provides two ways to control the number of jobs retrieved:
|
|
1015
|
-
|
|
1016
|
-
1. **Pagination Control (Default)**: Use `--page` and `--page-size` for precise pagination
|
|
1017
|
-
2. **Last N Jobs**: Use `--last-n-jobs` for retrieving the most recent jobs
|
|
1011
|
+
CloudOS CLI provides three output formats for job listings:
|
|
1018
1012
|
|
|
1019
|
-
|
|
1020
|
-
|
|
1013
|
+
- **Table (default)**: Rich formatted table displayed in the terminal with pagination information
|
|
1014
|
+
- **CSV**: Tabular format with predefined or all available columns using `--all-fields`
|
|
1015
|
+
- **JSON**: Complete job information in JSON format (`--all-fields` is always enabled)
|
|
1021
1016
|
|
|
1022
1017
|
**Default Behavior**
|
|
1023
1018
|
|
|
1024
|
-
By default, the command
|
|
1019
|
+
By default, the command displays the 10 most recent jobs in a formatted table:
|
|
1025
1020
|
|
|
1026
1021
|
```bash
|
|
1027
|
-
cloudos job list --profile my_profile
|
|
1022
|
+
cloudos job list --profile my_profile
|
|
1028
1023
|
```
|
|
1029
1024
|
|
|
1030
|
-
The
|
|
1025
|
+
The output shows a rich table with job information and pagination details:
|
|
1031
1026
|
|
|
1032
1027
|
```console
|
|
1033
1028
|
Executing list...
|
|
1034
|
-
|
|
1035
|
-
|
|
1029
|
+
|
|
1030
|
+
Job List
|
|
1031
|
+
┏━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
|
|
1032
|
+
┃ Status ┃ Name ┃ Project ┃ Owner ┃ Pipeline ┃ ID ┃ Submit time ┃
|
|
1033
|
+
┡━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
|
|
1034
|
+
│ ✓ │ analysis_run │ test-proj │ John │ rnatoy │ 692ee71c40e98ed6ed529e43│ 2025-12-02 │
|
|
1035
|
+
│ │ │ │ Doe │ │ │ 15:30:45 │
|
|
1036
|
+
│ ◐ │ test_job │ research │ Jane │ VEP │ 692ee81d50f98ed7fe639f54│ 2025-12-02 │
|
|
1037
|
+
│ │ │ │ Smith │ │ │ 14:20:30 │
|
|
1038
|
+
└────────┴──────────────┴─────────────┴──────────┴──────────────┴─────────────────────────┴──────────────┘
|
|
1039
|
+
|
|
1040
|
+
Showing 10 of 45 total jobs | Page 1 of 5
|
|
1036
1041
|
```
|
|
1037
1042
|
|
|
1043
|
+
**Status Indicators**
|
|
1044
|
+
|
|
1045
|
+
Jobs are displayed with colored visual status indicators:
|
|
1046
|
+
- **Green ✓** Completed
|
|
1047
|
+
- **Grey ◐** Running
|
|
1048
|
+
- **Red ✗** Failed
|
|
1049
|
+
- **Orange ■** Aborted
|
|
1050
|
+
- **Grey ○** Initialising
|
|
1051
|
+
|
|
1052
|
+
**Clickable Job IDs**
|
|
1053
|
+
|
|
1054
|
+
Job IDs in the table are clickable hyperlinks (when supported by your terminal) that open the job details page in CloudOS.
|
|
1055
|
+
|
|
1056
|
+
**Job Listing Control Options**
|
|
1057
|
+
|
|
1058
|
+
CloudOS CLI provides two ways to control the number of jobs retrieved:
|
|
1059
|
+
|
|
1060
|
+
1. **Pagination Control (Default)**: Use `--page` and `--page-size` for precise pagination
|
|
1061
|
+
2. **Last N Jobs**: Use `--last-n-jobs` for retrieving the most recent jobs
|
|
1062
|
+
|
|
1063
|
+
> [!IMPORTANT]
|
|
1064
|
+
> **These options are mutually exclusive**. When `--last-n-jobs` is specified, it takes precedence and `--page`/`--page-size` parameters are ignored. A warning message will be displayed if both are provided.
|
|
1065
|
+
|
|
1038
1066
|
**Pagination Examples**
|
|
1039
1067
|
|
|
1040
1068
|
Retrieve specific pages using `--page` and `--page-size`:
|
|
@@ -1043,10 +1071,13 @@ Retrieve specific pages using `--page` and `--page-size`:
|
|
|
1043
1071
|
# Get page 2 with 15 jobs per page
|
|
1044
1072
|
cloudos job list --profile my_profile --page 2 --page-size 15
|
|
1045
1073
|
|
|
1046
|
-
# Get page 5 with maximum 100 jobs per page
|
|
1074
|
+
# Get page 5 with maximum 100 jobs per page (maximum allowed)
|
|
1047
1075
|
cloudos job list --profile my_profile --page 5 --page-size 100
|
|
1048
1076
|
```
|
|
1049
1077
|
|
|
1078
|
+
> [!NOTE]
|
|
1079
|
+
> `--page-size` has a maximum limit of 100 jobs per page. Attempting to use a larger value will result in an error.
|
|
1080
|
+
|
|
1050
1081
|
**Last N Jobs Examples**
|
|
1051
1082
|
|
|
1052
1083
|
Use `--last-n-jobs` to get the most recent jobs:
|
|
@@ -1056,54 +1087,87 @@ Use `--last-n-jobs` to get the most recent jobs:
|
|
|
1056
1087
|
cloudos job list --profile my_profile --last-n-jobs 50
|
|
1057
1088
|
|
|
1058
1089
|
# Get all workspace jobs
|
|
1059
|
-
cloudos job list --profile my_profile --last-n-jobs all
|
|
1090
|
+
cloudos job list --profile my_profile --last-n-jobs all
|
|
1091
|
+
```
|
|
1092
|
+
|
|
1093
|
+
**Customizing Table Columns**
|
|
1094
|
+
|
|
1095
|
+
You can customize which columns are displayed in the table using the `--table-columns` option:
|
|
1096
|
+
|
|
1097
|
+
```bash
|
|
1098
|
+
# Show only status, name, and cost columns
|
|
1099
|
+
cloudos job list --profile my_profile --table-columns status,name,cost
|
|
1100
|
+
|
|
1101
|
+
# Show a minimal view
|
|
1102
|
+
cloudos job list --profile my_profile --table-columns status,name,id,submit_time
|
|
1103
|
+
```
|
|
1104
|
+
|
|
1105
|
+
Available columns: `status`, `name`, `project`, `owner`, `pipeline`, `id`, `submit_time`, `end_time`, `run_time`, `commit`, `cost`, `resources`, `storage_type`
|
|
1106
|
+
|
|
1107
|
+
> [!NOTE]
|
|
1108
|
+
> The `--table-columns` option only applies when using the default table output format (stdout).
|
|
1109
|
+
|
|
1110
|
+
**File Output Formats**
|
|
1111
|
+
|
|
1112
|
+
To save job lists to files instead of displaying them in the terminal:
|
|
1113
|
+
|
|
1114
|
+
```bash
|
|
1115
|
+
# Save as CSV with default columns
|
|
1116
|
+
cloudos job list --profile my_profile --output-format csv
|
|
1117
|
+
|
|
1118
|
+
# Save as CSV with all available fields
|
|
1119
|
+
cloudos job list --profile my_profile --output-format csv --all-fields
|
|
1120
|
+
|
|
1121
|
+
# Save as JSON with complete job data
|
|
1122
|
+
cloudos job list --profile my_profile --output-format json
|
|
1060
1123
|
```
|
|
1124
|
+
|
|
1125
|
+
The expected output for file formats:
|
|
1126
|
+
|
|
1061
1127
|
```console
|
|
1062
1128
|
Executing list...
|
|
1063
|
-
Job list collected with a total of
|
|
1064
|
-
Job list saved to joblist.
|
|
1129
|
+
Job list collected with a total of 10 jobs.
|
|
1130
|
+
Job list saved to joblist.csv
|
|
1065
1131
|
```
|
|
1066
1132
|
|
|
1067
|
-
|
|
1068
|
-
> - `--page-size` has a maximum limit of 100 jobs per page
|
|
1069
|
-
> - When filters or `--archived` flag are applied, pagination is applied to the filtered results
|
|
1070
|
-
> - If both `--last-n-jobs` and pagination parameters are provided, only `--last-n-jobs` will be used
|
|
1133
|
+
**Filtering Jobs**
|
|
1071
1134
|
|
|
1072
|
-
You find specific jobs within your workspace using the
|
|
1135
|
+
You can find specific jobs within your workspace using the filtering options. Filters can be combined to narrow down results and work with all output formats.
|
|
1073
1136
|
|
|
1074
1137
|
**Available filters:**
|
|
1075
1138
|
|
|
1076
|
-
- **`--filter-status`**: Filter jobs by execution status (e.g., completed, running, failed, aborted,
|
|
1139
|
+
- **`--filter-status`**: Filter jobs by execution status (e.g., completed, running, failed, aborted, initialising)
|
|
1077
1140
|
- **`--filter-job-name`**: Filter jobs by job name (case insensitive partial matching)
|
|
1078
1141
|
- **`--filter-project`**: Filter jobs by project name (exact match required)
|
|
1079
1142
|
- **`--filter-workflow`**: Filter jobs by workflow/pipeline name (exact match required)
|
|
1080
1143
|
- **`--filter-job-id`**: Filter jobs by specific job ID (exact match required)
|
|
1081
1144
|
- **`--filter-only-mine`**: Show only jobs belonging to the current user
|
|
1082
|
-
- **`--filter-owner`**: Show only
|
|
1145
|
+
- **`--filter-owner`**: Show only jobs for the specified owner (exact match required, e.g., "John Doe")
|
|
1083
1146
|
- **`--filter-queue`**: Filter jobs by queue name (only applies to batch jobs)
|
|
1084
1147
|
|
|
1085
1148
|
**Filtering Examples**
|
|
1086
1149
|
|
|
1087
|
-
You can find specific jobs within your workspace using the listing filtering options. Filters can be combined to narrow down results and all filtering is performed after retrieving jobs from the server.
|
|
1088
|
-
|
|
1089
1150
|
Using pagination approach (default):
|
|
1151
|
+
|
|
1090
1152
|
```bash
|
|
1091
|
-
# Get completed jobs from page 1 (default
|
|
1153
|
+
# Get completed jobs from page 1 (default 10 jobs)
|
|
1092
1154
|
cloudos job list --profile my_profile --filter-status completed
|
|
1093
1155
|
|
|
1094
|
-
# Get completed jobs from page 2 with
|
|
1095
|
-
cloudos job list --profile my_profile --page 2 --page-size
|
|
1156
|
+
# Get completed jobs from page 2 with 20 jobs per page
|
|
1157
|
+
cloudos job list --profile my_profile --page 2 --page-size 20 --filter-status completed
|
|
1096
1158
|
```
|
|
1097
1159
|
|
|
1098
1160
|
Using last-n-jobs approach:
|
|
1161
|
+
|
|
1099
1162
|
```bash
|
|
1100
1163
|
# Get all completed jobs from the last 50 jobs
|
|
1101
1164
|
cloudos job list --profile my_profile --last-n-jobs 50 --filter-status completed
|
|
1102
1165
|
```
|
|
1103
1166
|
|
|
1104
1167
|
Find jobs with "analysis" in the name from a specific project:
|
|
1168
|
+
|
|
1105
1169
|
```bash
|
|
1106
|
-
# Using pagination (gets first
|
|
1170
|
+
# Using pagination (gets first 10 matching jobs)
|
|
1107
1171
|
cloudos job list --profile my_profile --filter-job-name analysis --filter-project "My Research Project"
|
|
1108
1172
|
|
|
1109
1173
|
# Using last-n-jobs
|
|
@@ -1111,18 +1175,20 @@ cloudos job list --profile my_profile --last-n-jobs 100 --filter-job-name analys
|
|
|
1111
1175
|
```
|
|
1112
1176
|
|
|
1113
1177
|
Get all jobs using a specific workflow and queue:
|
|
1178
|
+
|
|
1114
1179
|
```bash
|
|
1115
1180
|
# Using pagination with larger page size
|
|
1116
1181
|
cloudos job list --profile my_profile --page-size 50 --filter-workflow rnatoy --filter-queue high-priority-queue
|
|
1117
1182
|
|
|
1118
1183
|
# Using last-n-jobs to search all jobs
|
|
1119
|
-
cloudos job list --profile my_profile --last-n-jobs
|
|
1184
|
+
cloudos job list --profile my_profile --last-n-jobs all --filter-workflow rnatoy --filter-queue high-priority-queue
|
|
1120
1185
|
```
|
|
1121
1186
|
|
|
1122
1187
|
> [!NOTE]
|
|
1123
1188
|
> - Project and workflow names must match exactly (case sensitive)
|
|
1124
1189
|
> - Job name filtering is case insensitive and supports partial matches
|
|
1125
1190
|
> - The `--last` flag can be used with `--filter-workflow` when multiple workflows have the same name
|
|
1191
|
+
> - When filters are applied, pagination information reflects the filtered results
|
|
1126
1192
|
|
|
1127
1193
|
#### Get Job Costs
|
|
1128
1194
|
|
|
@@ -2099,7 +2165,8 @@ You can also collect your last 30 submitted jobs for a given workspace using the
|
|
|
2099
2165
|
following command.
|
|
2100
2166
|
|
|
2101
2167
|
```python
|
|
2102
|
-
|
|
2168
|
+
result = j.get_job_list(workspace_id)
|
|
2169
|
+
my_jobs_r = result['jobs'] # Extract jobs list from the result
|
|
2103
2170
|
my_jobs = j.process_job_list(my_jobs_r)
|
|
2104
2171
|
print(my_jobs)
|
|
2105
2172
|
```
|
|
@@ -969,37 +969,65 @@ cloudos job workdir --status --profile my_profile --job-id "12345678910" --verbo
|
|
|
969
969
|
|
|
970
970
|
#### List Jobs
|
|
971
971
|
|
|
972
|
-
|
|
972
|
+
View your workspace jobs in a clean, formatted table directly in your terminal. The table automatically adapts to your terminal width, showing different column sets for optimal viewing. By default, jobs are displayed as a rich table with job IDs and colored visual status indicators.
|
|
973
973
|
|
|
974
|
-
|
|
975
|
-
- JSON: all the available information from the workspace jobs, in JSON format (`--all-fields` is always enabled for this format).
|
|
974
|
+
**Output Formats**
|
|
976
975
|
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
CloudOS CLI provides two ways to control the number of jobs retrieved:
|
|
980
|
-
|
|
981
|
-
1. **Pagination Control (Default)**: Use `--page` and `--page-size` for precise pagination
|
|
982
|
-
2. **Last N Jobs**: Use `--last-n-jobs` for retrieving the most recent jobs
|
|
976
|
+
CloudOS CLI provides three output formats for job listings:
|
|
983
977
|
|
|
984
|
-
|
|
985
|
-
|
|
978
|
+
- **Table (default)**: Rich formatted table displayed in the terminal with pagination information
|
|
979
|
+
- **CSV**: Tabular format with predefined or all available columns using `--all-fields`
|
|
980
|
+
- **JSON**: Complete job information in JSON format (`--all-fields` is always enabled)
|
|
986
981
|
|
|
987
982
|
**Default Behavior**
|
|
988
983
|
|
|
989
|
-
By default, the command
|
|
984
|
+
By default, the command displays the 10 most recent jobs in a formatted table:
|
|
990
985
|
|
|
991
986
|
```bash
|
|
992
|
-
cloudos job list --profile my_profile
|
|
987
|
+
cloudos job list --profile my_profile
|
|
993
988
|
```
|
|
994
989
|
|
|
995
|
-
The
|
|
990
|
+
The output shows a rich table with job information and pagination details:
|
|
996
991
|
|
|
997
992
|
```console
|
|
998
993
|
Executing list...
|
|
999
|
-
|
|
1000
|
-
|
|
994
|
+
|
|
995
|
+
Job List
|
|
996
|
+
┏━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
|
|
997
|
+
┃ Status ┃ Name ┃ Project ┃ Owner ┃ Pipeline ┃ ID ┃ Submit time ┃
|
|
998
|
+
┡━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
|
|
999
|
+
│ ✓ │ analysis_run │ test-proj │ John │ rnatoy │ 692ee71c40e98ed6ed529e43│ 2025-12-02 │
|
|
1000
|
+
│ │ │ │ Doe │ │ │ 15:30:45 │
|
|
1001
|
+
│ ◐ │ test_job │ research │ Jane │ VEP │ 692ee81d50f98ed7fe639f54│ 2025-12-02 │
|
|
1002
|
+
│ │ │ │ Smith │ │ │ 14:20:30 │
|
|
1003
|
+
└────────┴──────────────┴─────────────┴──────────┴──────────────┴─────────────────────────┴──────────────┘
|
|
1004
|
+
|
|
1005
|
+
Showing 10 of 45 total jobs | Page 1 of 5
|
|
1001
1006
|
```
|
|
1002
1007
|
|
|
1008
|
+
**Status Indicators**
|
|
1009
|
+
|
|
1010
|
+
Jobs are displayed with colored visual status indicators:
|
|
1011
|
+
- **Green ✓** Completed
|
|
1012
|
+
- **Grey ◐** Running
|
|
1013
|
+
- **Red ✗** Failed
|
|
1014
|
+
- **Orange ■** Aborted
|
|
1015
|
+
- **Grey ○** Initialising
|
|
1016
|
+
|
|
1017
|
+
**Clickable Job IDs**
|
|
1018
|
+
|
|
1019
|
+
Job IDs in the table are clickable hyperlinks (when supported by your terminal) that open the job details page in CloudOS.
|
|
1020
|
+
|
|
1021
|
+
**Job Listing Control Options**
|
|
1022
|
+
|
|
1023
|
+
CloudOS CLI provides two ways to control the number of jobs retrieved:
|
|
1024
|
+
|
|
1025
|
+
1. **Pagination Control (Default)**: Use `--page` and `--page-size` for precise pagination
|
|
1026
|
+
2. **Last N Jobs**: Use `--last-n-jobs` for retrieving the most recent jobs
|
|
1027
|
+
|
|
1028
|
+
> [!IMPORTANT]
|
|
1029
|
+
> **These options are mutually exclusive**. When `--last-n-jobs` is specified, it takes precedence and `--page`/`--page-size` parameters are ignored. A warning message will be displayed if both are provided.
|
|
1030
|
+
|
|
1003
1031
|
**Pagination Examples**
|
|
1004
1032
|
|
|
1005
1033
|
Retrieve specific pages using `--page` and `--page-size`:
|
|
@@ -1008,10 +1036,13 @@ Retrieve specific pages using `--page` and `--page-size`:
|
|
|
1008
1036
|
# Get page 2 with 15 jobs per page
|
|
1009
1037
|
cloudos job list --profile my_profile --page 2 --page-size 15
|
|
1010
1038
|
|
|
1011
|
-
# Get page 5 with maximum 100 jobs per page
|
|
1039
|
+
# Get page 5 with maximum 100 jobs per page (maximum allowed)
|
|
1012
1040
|
cloudos job list --profile my_profile --page 5 --page-size 100
|
|
1013
1041
|
```
|
|
1014
1042
|
|
|
1043
|
+
> [!NOTE]
|
|
1044
|
+
> `--page-size` has a maximum limit of 100 jobs per page. Attempting to use a larger value will result in an error.
|
|
1045
|
+
|
|
1015
1046
|
**Last N Jobs Examples**
|
|
1016
1047
|
|
|
1017
1048
|
Use `--last-n-jobs` to get the most recent jobs:
|
|
@@ -1021,54 +1052,87 @@ Use `--last-n-jobs` to get the most recent jobs:
|
|
|
1021
1052
|
cloudos job list --profile my_profile --last-n-jobs 50
|
|
1022
1053
|
|
|
1023
1054
|
# Get all workspace jobs
|
|
1024
|
-
cloudos job list --profile my_profile --last-n-jobs all
|
|
1055
|
+
cloudos job list --profile my_profile --last-n-jobs all
|
|
1056
|
+
```
|
|
1057
|
+
|
|
1058
|
+
**Customizing Table Columns**
|
|
1059
|
+
|
|
1060
|
+
You can customize which columns are displayed in the table using the `--table-columns` option:
|
|
1061
|
+
|
|
1062
|
+
```bash
|
|
1063
|
+
# Show only status, name, and cost columns
|
|
1064
|
+
cloudos job list --profile my_profile --table-columns status,name,cost
|
|
1065
|
+
|
|
1066
|
+
# Show a minimal view
|
|
1067
|
+
cloudos job list --profile my_profile --table-columns status,name,id,submit_time
|
|
1068
|
+
```
|
|
1069
|
+
|
|
1070
|
+
Available columns: `status`, `name`, `project`, `owner`, `pipeline`, `id`, `submit_time`, `end_time`, `run_time`, `commit`, `cost`, `resources`, `storage_type`
|
|
1071
|
+
|
|
1072
|
+
> [!NOTE]
|
|
1073
|
+
> The `--table-columns` option only applies when using the default table output format (stdout).
|
|
1074
|
+
|
|
1075
|
+
**File Output Formats**
|
|
1076
|
+
|
|
1077
|
+
To save job lists to files instead of displaying them in the terminal:
|
|
1078
|
+
|
|
1079
|
+
```bash
|
|
1080
|
+
# Save as CSV with default columns
|
|
1081
|
+
cloudos job list --profile my_profile --output-format csv
|
|
1082
|
+
|
|
1083
|
+
# Save as CSV with all available fields
|
|
1084
|
+
cloudos job list --profile my_profile --output-format csv --all-fields
|
|
1085
|
+
|
|
1086
|
+
# Save as JSON with complete job data
|
|
1087
|
+
cloudos job list --profile my_profile --output-format json
|
|
1025
1088
|
```
|
|
1089
|
+
|
|
1090
|
+
The expected output for file formats:
|
|
1091
|
+
|
|
1026
1092
|
```console
|
|
1027
1093
|
Executing list...
|
|
1028
|
-
Job list collected with a total of
|
|
1029
|
-
Job list saved to joblist.
|
|
1094
|
+
Job list collected with a total of 10 jobs.
|
|
1095
|
+
Job list saved to joblist.csv
|
|
1030
1096
|
```
|
|
1031
1097
|
|
|
1032
|
-
|
|
1033
|
-
> - `--page-size` has a maximum limit of 100 jobs per page
|
|
1034
|
-
> - When filters or `--archived` flag are applied, pagination is applied to the filtered results
|
|
1035
|
-
> - If both `--last-n-jobs` and pagination parameters are provided, only `--last-n-jobs` will be used
|
|
1098
|
+
**Filtering Jobs**
|
|
1036
1099
|
|
|
1037
|
-
You find specific jobs within your workspace using the
|
|
1100
|
+
You can find specific jobs within your workspace using the filtering options. Filters can be combined to narrow down results and work with all output formats.
|
|
1038
1101
|
|
|
1039
1102
|
**Available filters:**
|
|
1040
1103
|
|
|
1041
|
-
- **`--filter-status`**: Filter jobs by execution status (e.g., completed, running, failed, aborted,
|
|
1104
|
+
- **`--filter-status`**: Filter jobs by execution status (e.g., completed, running, failed, aborted, initialising)
|
|
1042
1105
|
- **`--filter-job-name`**: Filter jobs by job name (case insensitive partial matching)
|
|
1043
1106
|
- **`--filter-project`**: Filter jobs by project name (exact match required)
|
|
1044
1107
|
- **`--filter-workflow`**: Filter jobs by workflow/pipeline name (exact match required)
|
|
1045
1108
|
- **`--filter-job-id`**: Filter jobs by specific job ID (exact match required)
|
|
1046
1109
|
- **`--filter-only-mine`**: Show only jobs belonging to the current user
|
|
1047
|
-
- **`--filter-owner`**: Show only
|
|
1110
|
+
- **`--filter-owner`**: Show only jobs for the specified owner (exact match required, e.g., "John Doe")
|
|
1048
1111
|
- **`--filter-queue`**: Filter jobs by queue name (only applies to batch jobs)
|
|
1049
1112
|
|
|
1050
1113
|
**Filtering Examples**
|
|
1051
1114
|
|
|
1052
|
-
You can find specific jobs within your workspace using the listing filtering options. Filters can be combined to narrow down results and all filtering is performed after retrieving jobs from the server.
|
|
1053
|
-
|
|
1054
1115
|
Using pagination approach (default):
|
|
1116
|
+
|
|
1055
1117
|
```bash
|
|
1056
|
-
# Get completed jobs from page 1 (default
|
|
1118
|
+
# Get completed jobs from page 1 (default 10 jobs)
|
|
1057
1119
|
cloudos job list --profile my_profile --filter-status completed
|
|
1058
1120
|
|
|
1059
|
-
# Get completed jobs from page 2 with
|
|
1060
|
-
cloudos job list --profile my_profile --page 2 --page-size
|
|
1121
|
+
# Get completed jobs from page 2 with 20 jobs per page
|
|
1122
|
+
cloudos job list --profile my_profile --page 2 --page-size 20 --filter-status completed
|
|
1061
1123
|
```
|
|
1062
1124
|
|
|
1063
1125
|
Using last-n-jobs approach:
|
|
1126
|
+
|
|
1064
1127
|
```bash
|
|
1065
1128
|
# Get all completed jobs from the last 50 jobs
|
|
1066
1129
|
cloudos job list --profile my_profile --last-n-jobs 50 --filter-status completed
|
|
1067
1130
|
```
|
|
1068
1131
|
|
|
1069
1132
|
Find jobs with "analysis" in the name from a specific project:
|
|
1133
|
+
|
|
1070
1134
|
```bash
|
|
1071
|
-
# Using pagination (gets first
|
|
1135
|
+
# Using pagination (gets first 10 matching jobs)
|
|
1072
1136
|
cloudos job list --profile my_profile --filter-job-name analysis --filter-project "My Research Project"
|
|
1073
1137
|
|
|
1074
1138
|
# Using last-n-jobs
|
|
@@ -1076,18 +1140,20 @@ cloudos job list --profile my_profile --last-n-jobs 100 --filter-job-name analys
|
|
|
1076
1140
|
```
|
|
1077
1141
|
|
|
1078
1142
|
Get all jobs using a specific workflow and queue:
|
|
1143
|
+
|
|
1079
1144
|
```bash
|
|
1080
1145
|
# Using pagination with larger page size
|
|
1081
1146
|
cloudos job list --profile my_profile --page-size 50 --filter-workflow rnatoy --filter-queue high-priority-queue
|
|
1082
1147
|
|
|
1083
1148
|
# Using last-n-jobs to search all jobs
|
|
1084
|
-
cloudos job list --profile my_profile --last-n-jobs
|
|
1149
|
+
cloudos job list --profile my_profile --last-n-jobs all --filter-workflow rnatoy --filter-queue high-priority-queue
|
|
1085
1150
|
```
|
|
1086
1151
|
|
|
1087
1152
|
> [!NOTE]
|
|
1088
1153
|
> - Project and workflow names must match exactly (case sensitive)
|
|
1089
1154
|
> - Job name filtering is case insensitive and supports partial matches
|
|
1090
1155
|
> - The `--last` flag can be used with `--filter-workflow` when multiple workflows have the same name
|
|
1156
|
+
> - When filters are applied, pagination information reflects the filtered results
|
|
1091
1157
|
|
|
1092
1158
|
#### Get Job Costs
|
|
1093
1159
|
|
|
@@ -2064,7 +2130,8 @@ You can also collect your last 30 submitted jobs for a given workspace using the
|
|
|
2064
2130
|
following command.
|
|
2065
2131
|
|
|
2066
2132
|
```python
|
|
2067
|
-
|
|
2133
|
+
result = j.get_job_list(workspace_id)
|
|
2134
|
+
my_jobs_r = result['jobs'] # Extract jobs list from the result
|
|
2068
2135
|
my_jobs = j.process_job_list(my_jobs_r)
|
|
2069
2136
|
print(my_jobs)
|
|
2070
2137
|
```
|