cloudos-cli 2.85.0__tar.gz → 2.86.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.
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/PKG-INFO +203 -117
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/README.md +202 -116
- cloudos_cli-2.86.0/cloudos_cli/_version.py +1 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/clos.py +55 -1
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/interactive_session/cli.py +356 -138
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/interactive_session/interactive_session.py +184 -252
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli.egg-info/PKG-INFO +203 -117
- cloudos_cli-2.85.0/cloudos_cli/_version.py +0 -1
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/LICENSE +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/__main__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/bash/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/bash/cli.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/configure/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/configure/cli.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/configure/configure.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/constants.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/cost/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/cost/cost.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/cromwell/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/cromwell/cli.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/datasets/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/datasets/cli.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/datasets/datasets.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/import_wf/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/import_wf/import_wf.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/interactive_session/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/jobs/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/jobs/cli.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/jobs/job.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/link/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/link/cli.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/link/link.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/logging/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/logging/logger.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/procurement/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/procurement/cli.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/procurement/images.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/projects/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/projects/cli.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/queue/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/queue/cli.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/queue/queue.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/related_analyses/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/related_analyses/related_analyses.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/utils/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/utils/array_job.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/utils/cli_helpers.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/utils/cloud.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/utils/details.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/utils/errors.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/utils/last_wf.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/utils/requests.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/utils/resources.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/workflows/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli/workflows/cli.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli.egg-info/SOURCES.txt +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli.egg-info/dependency_links.txt +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli.egg-info/entry_points.txt +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli.egg-info/requires.txt +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/cloudos_cli.egg-info/top_level.txt +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/setup.cfg +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/setup.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/functions_for_pytest.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/test_cli_project_create.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/test_cost/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/test_cost/test_job_cost.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/test_error_messages.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/test_interactive_session/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/test_interactive_session/test_create_session.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/test_interactive_session/test_list_sessions.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/test_logging/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/test_logging/test_logger.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/tests/test_related_analyses/__init__.py +0 -0
- {cloudos_cli-2.85.0 → cloudos_cli-2.86.0}/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.86.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
|
|
@@ -100,9 +100,10 @@ Python package for interacting with CloudOS
|
|
|
100
100
|
- [Use multiple projects for files in `--parameter` option](#use-multiple-projects-for-files-in---parameter-option)
|
|
101
101
|
- [Interactive Sessions](#interactive-sessions)
|
|
102
102
|
- [List Interactive Sessions](#list-interactive-sessions)
|
|
103
|
+
- [Create Interactive Session](#create-interactive-session)
|
|
103
104
|
- [Get Interactive Session Status](#get-interactive-session-status)
|
|
104
105
|
- [Pause Interactive Session](#pause-interactive-session)
|
|
105
|
-
- [
|
|
106
|
+
- [Resume Interactive Session](#resume-interactive-session)
|
|
106
107
|
- [Datasets](#datasets)
|
|
107
108
|
- [List Files](#list-files)
|
|
108
109
|
- [Move Files](#move-files)
|
|
@@ -2005,13 +2006,13 @@ The table displays sessions with pagination controls (press `n` for next page, `
|
|
|
2005
2006
|
|
|
2006
2007
|
```console
|
|
2007
2008
|
Interactive Sessions
|
|
2008
|
-
|
|
2009
|
-
┃ Status ┃ Name ┃ Type
|
|
2010
|
-
|
|
2011
|
-
│ paused │ cloudosR │ RStudio
|
|
2012
|
-
│ running │ analysis-dev │ Jupyter
|
|
2013
|
-
│ paused │ test_session │ VS Code
|
|
2014
|
-
|
|
2009
|
+
┏━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━┓
|
|
2010
|
+
┃ Status ┃ Name ┃ Type ┃ ID ┃ Owner ┃
|
|
2011
|
+
┡━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━┩
|
|
2012
|
+
│ paused │ cloudosR │ RStudio │ 69aee0dba197… │ Leila │
|
|
2013
|
+
│ running │ analysis-dev │ Jupyter │ 69ae972a18f0… │ John │
|
|
2014
|
+
│ paused │ test_session │ VS Code │ 69a996c098ab… │ James │
|
|
2015
|
+
└─────────┴──────────────┴────────────────┴───────────────┴────────┘
|
|
2015
2016
|
|
|
2016
2017
|
Total sessions: 15
|
|
2017
2018
|
Page: 1 of 3
|
|
@@ -2072,6 +2073,172 @@ cloudos interactive-session list --profile my_profile --table-columns "status,na
|
|
|
2072
2073
|
|
|
2073
2074
|
Available columns: `backend`, `cost`, `cost_limit`, `created_at`, `id`, `instance`, `name`, `owner`, `project`, `resources`, `runtime`, `saved_at`, `spot`, `status`, `time_left`, `type`, `version`
|
|
2074
2075
|
|
|
2076
|
+
#### Create Interactive Session
|
|
2077
|
+
|
|
2078
|
+
You can create and start a new interactive session using the `cloudos interactive-session create` command. This command provisions a new virtual environment with your specified configuration.
|
|
2079
|
+
|
|
2080
|
+
The command automatically loads API credentials and workspace information from your profile configuration, so you only need to specify the session-specific details.
|
|
2081
|
+
|
|
2082
|
+
**Basic Usage**
|
|
2083
|
+
|
|
2084
|
+
Create a simple Jupyter notebook session:
|
|
2085
|
+
|
|
2086
|
+
```bash
|
|
2087
|
+
cloudos interactive-session create \
|
|
2088
|
+
--profile my_profile \
|
|
2089
|
+
--name "My Analysis" \
|
|
2090
|
+
--session-type jupyter
|
|
2091
|
+
```
|
|
2092
|
+
|
|
2093
|
+
Create an RStudio session with specific R version:
|
|
2094
|
+
|
|
2095
|
+
```bash
|
|
2096
|
+
cloudos interactive-session create \
|
|
2097
|
+
--profile my_profile \
|
|
2098
|
+
--name "R Analysis" \
|
|
2099
|
+
--session-type rstudio \
|
|
2100
|
+
--r-version 4.4.2
|
|
2101
|
+
```
|
|
2102
|
+
|
|
2103
|
+
Create a VS Code session (AWS only):
|
|
2104
|
+
|
|
2105
|
+
```bash
|
|
2106
|
+
cloudos interactive-session create \
|
|
2107
|
+
--profile my_profile \
|
|
2108
|
+
--name "Development" \
|
|
2109
|
+
--session-type vscode
|
|
2110
|
+
```
|
|
2111
|
+
|
|
2112
|
+
Create a Spark cluster session with custom instance types (AWS only):
|
|
2113
|
+
|
|
2114
|
+
```bash
|
|
2115
|
+
cloudos interactive-session create \
|
|
2116
|
+
--profile my_profile \
|
|
2117
|
+
--name "Spark Analysis" \
|
|
2118
|
+
--session-type spark \
|
|
2119
|
+
--spark-master c5.2xlarge \
|
|
2120
|
+
--spark-core c5.xlarge \
|
|
2121
|
+
--spark-workers 3
|
|
2122
|
+
```
|
|
2123
|
+
|
|
2124
|
+
**Configuration Options**
|
|
2125
|
+
|
|
2126
|
+
You can customize your session with various options:
|
|
2127
|
+
|
|
2128
|
+
```bash
|
|
2129
|
+
cloudos interactive-session create \
|
|
2130
|
+
--profile my_profile \
|
|
2131
|
+
--name "Advanced Session" \
|
|
2132
|
+
--session-type jupyter \
|
|
2133
|
+
--instance c5.2xlarge \
|
|
2134
|
+
--storage 1000 \
|
|
2135
|
+
--spot \
|
|
2136
|
+
--shared \
|
|
2137
|
+
--cost-limit 50.0 \
|
|
2138
|
+
--shutdown-in 8h
|
|
2139
|
+
```
|
|
2140
|
+
|
|
2141
|
+
**Required for Each Session:**
|
|
2142
|
+
- `--name`: Session name (1-100 characters)
|
|
2143
|
+
- `--session-type`: Type of backend - `jupyter`, `vscode`, `rstudio`, or `spark` (platform dependent)
|
|
2144
|
+
|
|
2145
|
+
**Optional Configuration:**
|
|
2146
|
+
- `--instance`: Instance type (default depends on execution platform: `c5.xlarge` for AWS, `Standard_F1s` for Azure)
|
|
2147
|
+
- `--storage`: Storage in GB (default: 500, range: 100-5000)
|
|
2148
|
+
- `--spot`: Use spot instances (AWS only, cost-saving)
|
|
2149
|
+
- `--shared`: Make session accessible to workspace members
|
|
2150
|
+
- `--cost-limit`: Compute cost limit in USD (default: -1 for unlimited)
|
|
2151
|
+
- `--shutdown-in`: Auto-shutdown duration (e.g., `8h`, `2d`, `30m`)
|
|
2152
|
+
|
|
2153
|
+
**Data & Storage Management:**
|
|
2154
|
+
- `--mount`: Mount a data file into the session. Supports both CloudOS datasets and S3 files (AWS only). Format: `project_name/dataset_path` (e.g., `leila-test/Data/file.csv`) or `s3://bucket/path/to/file` (e.g., `s3://my-bucket/data/file.csv`). Can be used multiple times.
|
|
2155
|
+
- `--link`: Link a folder into the session for read/write access (AWS only). Supports S3 folders and CloudOS folders. Format: `s3://bucket/prefix` (e.g., `s3://my-bucket/data/`) or `project_name/folder_path` (e.g., `leila-test/AnalysesResults/analysis_id/results`). Can be used multiple times. **Note:** Linking is not supported on Azure. Use CloudOS file explorer for data access.
|
|
2156
|
+
|
|
2157
|
+
**Backend-Specific:**
|
|
2158
|
+
- `--r-version`: R version for RStudio (options: `4.4.2`, `4.5.2`) - **optional for rstudio** (default: `4.4.2`)
|
|
2159
|
+
- `--spark-master`: Master instance type for Spark (default: `c5.2xlarge`)
|
|
2160
|
+
- `--spark-core`: Core instance type for Spark (default: `c5.xlarge`)
|
|
2161
|
+
- `--spark-workers`: Initial worker count for Spark (default: 1)
|
|
2162
|
+
- `--verbose`: Show detailed progress messages
|
|
2163
|
+
|
|
2164
|
+
|
|
2165
|
+
**Data Management**
|
|
2166
|
+
|
|
2167
|
+
CloudOS CLI supports multiple ways to access data in interactive sessions, depending on your execution platform:
|
|
2168
|
+
- you can load data directly into the session (i.e. files are copied into the session's mounted-data volume)
|
|
2169
|
+
- you can link folders to your session (i.e the folders are sym-linked to the session). This works only for folders (S3-based) and only in AWS enviornments.
|
|
2170
|
+
|
|
2171
|
+
|
|
2172
|
+
**Data Mounting Examples**
|
|
2173
|
+
|
|
2174
|
+
Mount a file from File Explorer:
|
|
2175
|
+
|
|
2176
|
+
```bash
|
|
2177
|
+
cloudos interactive-session create \
|
|
2178
|
+
--profile my_profile \
|
|
2179
|
+
--name "Data Analysis" \
|
|
2180
|
+
--session-type jupyter \
|
|
2181
|
+
--mount "my_project/training_data.csv"
|
|
2182
|
+
```
|
|
2183
|
+
|
|
2184
|
+
Link an S3 bucket:
|
|
2185
|
+
|
|
2186
|
+
```bash
|
|
2187
|
+
cloudos interactive-session create \
|
|
2188
|
+
--profile my_profile \
|
|
2189
|
+
--name "S3 Access" \
|
|
2190
|
+
--session-type jupyter \
|
|
2191
|
+
--link "s3://my-results-bucket/output/"
|
|
2192
|
+
```
|
|
2193
|
+
|
|
2194
|
+
Link multiple S3 buckets:
|
|
2195
|
+
|
|
2196
|
+
```bash
|
|
2197
|
+
cloudos interactive-session create \
|
|
2198
|
+
--profile my_profile \
|
|
2199
|
+
--name "Multi-S3 Session" \
|
|
2200
|
+
--session-type jupyter \
|
|
2201
|
+
--link "s3://input-bucket/data/" \
|
|
2202
|
+
--link "s3://output-bucket/results/"
|
|
2203
|
+
```
|
|
2204
|
+
|
|
2205
|
+
|
|
2206
|
+
|
|
2207
|
+
This will show progress updates like:
|
|
2208
|
+
|
|
2209
|
+
```console
|
|
2210
|
+
✓ Interactive Session Created Successfully
|
|
2211
|
+
|
|
2212
|
+
┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
|
|
2213
|
+
┃ Property ┃ Value ┃
|
|
2214
|
+
┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩
|
|
2215
|
+
│ Session ID │ 69aee0dba197abc123 │
|
|
2216
|
+
│ Name │ Ready Session │
|
|
2217
|
+
│ Backend │ awsJupyterNotebook │
|
|
2218
|
+
│ Status │ initialising │
|
|
2219
|
+
└─────────────┴─────────────────────┘
|
|
2220
|
+
```
|
|
2221
|
+
```
|
|
2222
|
+
|
|
2223
|
+
**Output Display**
|
|
2224
|
+
|
|
2225
|
+
The session creation output displays a success message with session details:
|
|
2226
|
+
|
|
2227
|
+
```bash
|
|
2228
|
+
cloudos interactive-session create \
|
|
2229
|
+
--profile my_profile \
|
|
2230
|
+
--name "My Session" \
|
|
2231
|
+
--session-type jupyter
|
|
2232
|
+
```
|
|
2233
|
+
|
|
2234
|
+
The output shows the session details including:
|
|
2235
|
+
- Session ID
|
|
2236
|
+
- Session name
|
|
2237
|
+
- Backend type (jupyter, vscode, rstudio, spark)
|
|
2238
|
+
- Current status (scheduled, initialising, setup, running, paused)
|
|
2239
|
+
|
|
2240
|
+
|
|
2241
|
+
|
|
2075
2242
|
#### Get Interactive Session Status
|
|
2076
2243
|
|
|
2077
2244
|
You can retrieve detailed status information for a specific interactive session using the `cloudos interactive-session status` command. This command provides comprehensive information about the session including its current state, resource allocation, costs, and more.
|
|
@@ -2093,7 +2260,7 @@ The command displays session information in a formatted table:
|
|
|
2093
2260
|
║ Session ID ║ 69bc00cb1488084e5a6cae70 ║
|
|
2094
2261
|
║ Name ║ analysis-dev (linked) ║
|
|
2095
2262
|
║ Status ║ running ║
|
|
2096
|
-
║ Backend ║
|
|
2263
|
+
║ Backend ║ Jupyter ║
|
|
2097
2264
|
║ Owner ║ John Doe ║
|
|
2098
2265
|
║ Project ║ research ║
|
|
2099
2266
|
║ Instance Type ║ c5.xlarge ║
|
|
@@ -2274,7 +2441,7 @@ Pausing session...
|
|
|
2274
2441
|
Status: shutting_down
|
|
2275
2442
|
Status: uploading_data
|
|
2276
2443
|
Status: cleaning_up
|
|
2277
|
-
Status:
|
|
2444
|
+
Status: paused
|
|
2278
2445
|
✓ Session paused successfully
|
|
2279
2446
|
```
|
|
2280
2447
|
|
|
@@ -2350,142 +2517,61 @@ The command automatically loads from profile (via `@with_profile_config` decorat
|
|
|
2350
2517
|
- `--ssl-cert`: Path to SSL certificate file
|
|
2351
2518
|
- `--profile`: Profile to use from config file (default: default profile)
|
|
2352
2519
|
|
|
2353
|
-
####
|
|
2520
|
+
#### Resume Interactive Session
|
|
2354
2521
|
|
|
2355
|
-
|
|
2522
|
+
Resume a paused interactive session with optional configuration updates. You can change instance type, storage, cost limit, auto-shutdown time, and mount additional data files or folders when resuming.
|
|
2356
2523
|
|
|
2357
|
-
The command automatically loads API credentials and workspace information from your profile configuration, so you only need to specify the session-specific details.
|
|
2358
2524
|
|
|
2359
2525
|
**Basic Usage**
|
|
2360
2526
|
|
|
2361
|
-
|
|
2527
|
+
Resume a paused session:
|
|
2362
2528
|
|
|
2363
2529
|
```bash
|
|
2364
|
-
cloudos interactive-session
|
|
2365
|
-
--profile my_profile \
|
|
2366
|
-
--name "My Analysis" \
|
|
2367
|
-
--session-type jupyter
|
|
2530
|
+
cloudos interactive-session resume --session-id <SESSION_ID> --profile my_profile
|
|
2368
2531
|
```
|
|
2369
2532
|
|
|
2370
|
-
|
|
2533
|
+
Resume with updated instance type:
|
|
2371
2534
|
|
|
2372
2535
|
```bash
|
|
2373
|
-
cloudos interactive-session
|
|
2374
|
-
--
|
|
2375
|
-
--name "R Analysis" \
|
|
2376
|
-
--session-type rstudio \
|
|
2377
|
-
--r-version 4.4.2
|
|
2378
|
-
```
|
|
2379
|
-
|
|
2380
|
-
Create a VS Code session (AWS only):
|
|
2381
|
-
|
|
2382
|
-
```bash
|
|
2383
|
-
cloudos interactive-session create \
|
|
2384
|
-
--profile my_profile \
|
|
2385
|
-
--name "Development" \
|
|
2386
|
-
--session-type vscode
|
|
2387
|
-
```
|
|
2388
|
-
|
|
2389
|
-
Create a Spark cluster session with custom instance types (AWS only):
|
|
2390
|
-
|
|
2391
|
-
```bash
|
|
2392
|
-
cloudos interactive-session create \
|
|
2536
|
+
cloudos interactive-session resume \
|
|
2537
|
+
--session-id <SESSION_ID> \
|
|
2393
2538
|
--profile my_profile \
|
|
2394
|
-
--
|
|
2395
|
-
--session-type spark \
|
|
2396
|
-
--spark-master c5.2xlarge \
|
|
2397
|
-
--spark-core c5.xlarge \
|
|
2398
|
-
--spark-workers 3
|
|
2539
|
+
--instance c5.2xlarge
|
|
2399
2540
|
```
|
|
2400
2541
|
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
You can customize your session with various options:
|
|
2542
|
+
Resume with multiple updates:
|
|
2404
2543
|
|
|
2405
2544
|
```bash
|
|
2406
|
-
cloudos interactive-session
|
|
2545
|
+
cloudos interactive-session resume \
|
|
2546
|
+
--session-id <SESSION_ID> \
|
|
2407
2547
|
--profile my_profile \
|
|
2408
|
-
--
|
|
2409
|
-
--session-type jupyter \
|
|
2410
|
-
--instance c5.2xlarge \
|
|
2548
|
+
--instance m5.xlarge \
|
|
2411
2549
|
--storage 1000 \
|
|
2412
|
-
--spot \
|
|
2413
|
-
--shared \
|
|
2414
2550
|
--cost-limit 50.0 \
|
|
2415
|
-
--shutdown-in
|
|
2551
|
+
--shutdown-in 12h
|
|
2416
2552
|
```
|
|
2417
2553
|
|
|
2418
|
-
**
|
|
2419
|
-
- `--name`: Session name (1-100 characters)
|
|
2420
|
-
- `--session-type`: Type of backend - `jupyter`, `vscode`, `rstudio`, or `spark` (platform dependent)
|
|
2554
|
+
**Mount Additional Data**
|
|
2421
2555
|
|
|
2422
|
-
|
|
2423
|
-
- `--instance`: Instance type (default depends on execution platform: `c5.xlarge` for AWS, `Standard_F1s` for Azure)
|
|
2424
|
-
- `--storage`: Storage in GB (default: 500, range: 100-5000)
|
|
2425
|
-
- `--spot`: Use spot instances (AWS only, cost-saving)
|
|
2426
|
-
- `--shared`: Make session accessible to workspace members
|
|
2427
|
-
- `--cost-limit`: Compute cost limit in USD (default: -1 for unlimited)
|
|
2428
|
-
- `--shutdown-in`: Auto-shutdown duration (e.g., `8h`, `2d`, `30m`)
|
|
2429
|
-
|
|
2430
|
-
**Data & Storage Management:**
|
|
2431
|
-
- `--mount`: Mount a data file into the session. Supports both CloudOS datasets and S3 files (AWS only). Format: `project_name/dataset_path` (e.g., `leila-test/Data/file.csv`) or `s3://bucket/path/to/file` (e.g., `s3://my-bucket/data/file.csv`). Can be used multiple times.
|
|
2432
|
-
- `--link`: Link a folder into the session for read/write access (AWS only). Supports S3 folders and CloudOS folders. Format: `s3://bucket/prefix` (e.g., `s3://my-bucket/data/`) or `project_name/folder_path` (e.g., `leila-test/AnalysesResults/analysis_id/results`). Can be used multiple times. **Note:** Linking is not supported on Azure. Use CloudOS file explorer for data access.
|
|
2433
|
-
|
|
2434
|
-
**Backend-Specific:**
|
|
2435
|
-
- `--r-version`: R version for RStudio (options: `4.4.2`, `4.5.2`) - **optional for rstudio** (default: `4.4.2`)
|
|
2436
|
-
- `--spark-master`: Master instance type for Spark (default: `c5.2xlarge`)
|
|
2437
|
-
- `--spark-core`: Core instance type for Spark (default: `c5.xlarge`)
|
|
2438
|
-
- `--spark-workers`: Initial worker count for Spark (default: 1)
|
|
2439
|
-
- `--verbose`: Show detailed progress messages
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
**Data Management**
|
|
2443
|
-
|
|
2444
|
-
CloudOS CLI supports multiple ways to access data in interactive sessions, depending on your execution platform:
|
|
2445
|
-
- you can load data directly into the session (i.e. files are copied into the session's mounted-data volume)
|
|
2446
|
-
- you can link folders to your session (i.e the folders are sym-linked to the session). This works only for folders (S3-based) and only in AWS enviornments.
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
**Data Mounting Examples**
|
|
2450
|
-
|
|
2451
|
-
Mount a file from File Explorer:
|
|
2452
|
-
|
|
2453
|
-
```bash
|
|
2454
|
-
cloudos interactive-session create \
|
|
2455
|
-
--profile my_profile \
|
|
2456
|
-
--name "Data Analysis" \
|
|
2457
|
-
--session-type jupyter \
|
|
2458
|
-
--mount "my_project/training_data.csv"
|
|
2459
|
-
```
|
|
2460
|
-
|
|
2461
|
-
Link an S3 bucket:
|
|
2556
|
+
Resume and mount additional files:
|
|
2462
2557
|
|
|
2463
2558
|
```bash
|
|
2464
|
-
cloudos interactive-session
|
|
2559
|
+
cloudos interactive-session resume \
|
|
2560
|
+
--session-id <SESSION_ID> \
|
|
2465
2561
|
--profile my_profile \
|
|
2466
|
-
--
|
|
2467
|
-
--
|
|
2468
|
-
--link "s3://my-results-bucket/output/"
|
|
2562
|
+
--mount my-project/Data/new-dataset.csv \
|
|
2563
|
+
--mount s3://my-bucket/data/file.txt
|
|
2469
2564
|
```
|
|
2470
2565
|
|
|
2471
2566
|
|
|
2472
|
-
**
|
|
2473
|
-
|
|
2474
|
-
The session creation output displays a success message with session details:
|
|
2475
|
-
|
|
2476
|
-
```bash
|
|
2477
|
-
cloudos interactive-session create \
|
|
2478
|
-
--profile my_profile \
|
|
2479
|
-
--name "My Session" \
|
|
2480
|
-
--session-type jupyter
|
|
2481
|
-
```
|
|
2567
|
+
**Configuration Updates**
|
|
2482
2568
|
|
|
2483
|
-
|
|
2484
|
-
- Session ID
|
|
2485
|
-
- Session name
|
|
2486
|
-
- Backend type (jupyter, vscode, rstudio, spark)
|
|
2487
|
-
- Current status (scheduled, initialising, setup, running, paused)
|
|
2569
|
+
All configuration parameters are optional. If not specified, the session resumes with its previous configuration.
|
|
2488
2570
|
|
|
2571
|
+
- `--instance <TYPE>` - Change instance type (validated by platform)
|
|
2572
|
+
- `--storage <GB>` - Update storage size (100-5000 GB)
|
|
2573
|
+
- `--cost-limit <USD>` - Update compute cost limit (-1 for unlimited)
|
|
2574
|
+
- `--shutdown-in <DURATION>` - Update auto-shutdown time (e.g., 8h, 2d)
|
|
2489
2575
|
|
|
2490
2576
|
### Datasets
|
|
2491
2577
|
|