OmicsLab SDK
Python SDK and CLI for the RIVER (OmicsLab) Platform.
- CLI:
omicslab(aliasomx) — interact with the platform from your terminal - Python SDK:
omicslab.Client— integrate programmatically
Installation
pip install omicslab
Or from source:
git clone https://github.com/gianglabs/omicslab-platform
cd omicslab-platform/sdk
pip install -e .
Quick Start
1. Authenticate
Create an API token in the web UI (Settings → API Tokens), then:
omicslab auth login --token omx_abc123...
2. Set your context
# Interactive mode — picks org, workspace, and folder
omicslab use
# Or set explicitly
omicslab use --org-id <org_id> --workspace-id <ws_id> --prefix data/
3. Navigate storage like a filesystem
omicslab ls # list files
omicslab cd results/ # change folder
omicslab pwd # show current folder
omicslab upload ./data.csv # upload a file
omicslab download results/output.txt # download a file
omicslab rm old_file.txt # delete a file
omicslab mv source.txt dest.txt # move/rename
4. Launch a job
omicslab jobs launch --workspace <ws_id> --analysis <id> --compute <id> --params '{"threads": 8}'
omicslab jobs list --workspace <ws_id>
omicslab jobs logs <job_id> --workspace <ws_id>
CLI Reference
| Command group | Description | Examples |
|---|---|---|
auth |
Login/logout | omicslab auth login --token ... |
token |
API token management | create, list, revoke |
orgs |
Organization CRUD | list, create, get, update, delete, members |
ws |
Workspace management | list, create, get, update, delete, members |
jobs |
Launch & manage jobs | launch, list, get, logs, terminate |
analysis |
Analysis tool catalog | list, create, get, update, delete, pin, schema, tags |
studio |
Studio tool catalog | list, create, get, update, delete, pin, schema, tags |
use |
Set active context | Interactive or --org-id, --workspace-id, --prefix |
| — | File commands | ls, cd, pwd, rm, mv, upload, download, env, whoami |
Python SDK
from omicslab import Client
client = Client() # reads OMICSLAB_TOKEN env or config
# List workspaces
workspaces = client.workspaces.list()
# Launch a job
job = client.jobs.launch_analysis(
workspace_id="...",
analysis_id="...",
compute_id="...",
params={"threads": 8},
)
# Storage operations
files = client.storage.list("workspace_id", prefix="data/")
url = client.storage.get_upload_url("workspace_id", "data/input.fastq")
Environment Variables
| Variable | Purpose |
|---|---|
OMICSLAB_TOKEN |
API token (overrides config file) |
OMICSLAB_BASE_URL |
API base URL (default: https://platform.omicslab.io/api) |
Configuration is stored at ~/.omicslab/config.json and supports multiple named profiles.
Metadata
Release files for omicslab 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| omicslab-1.3.0.tar.gz | 91.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| omicslab-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 164.2 kB
Release files / omicslab-1.3.0.tar.gz
| Download URL | omicslab-1.3.0.tar.gz |
|---|---|
| Size | 91.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c6770c077a15c989efaf8ea6282ef4b9150423abf6a7c74e8a8931ce0ab38457
|
|
BLAKE2b-256 checksum How to use checksums |
53a3e597e899c64f9a0d0d7ff1434797ebd8ec971230c9677a7dc1825133e3f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Release files / omicslab-1.3.0-py3-none-any.whl
| Download URL | omicslab-1.3.0-py3-none-any.whl |
|---|---|
| Size | 72.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
99e71eb61b099ecc08a2b444162c581117105a03d999d13d89f600ce8203a2a3
|
|
BLAKE2b-256 checksum How to use checksums |
929c0772c7531ad9dea66d339ec113d97c3a3c08097efb89a07b7a44899d65cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|