isabl_cli command line client.
Project description
Isabl CLI
Terms of Use: Academic Research
[!TIP] Talk to your genomics data with AI. Try the Isabl MCP Server with Claude Code, Cursor, or your favorite agentic tool.
isabl_cli is a command line client and SDK for the Isabl Platform infrastructure.
🧬 Isabl Platform
-
Isabl is a platform for the integration, management, and processing of individual-centric multimodal data. Welcome to the Isabl Documentation!
-
Isabl is a plug-and-play data science framework designed to support the processing of multimodal patient-centric data. Have questions? Ask here.
-
Isabl has been developed by the Elli Papaemmanuil's Lab at Memorial Sloan Kettering Cancer Center, and it's currently used by multiple scientific groups and contributors.
-
Learn more: Isabl documentation.
📓 Publication
Medina-Martínez, J.S., Arango-Ossa, J.E., Levine, M.F. et al. Isabl Platform, a digital biobank for processing multimodal patient data. BMC Bioinformatics 21, 549 (2020).
https://doi.org/10.1186/s12859-020-03879-7
Installation
pip install isabl_cli
Development Setup
Prerequisites
- Python 3.6 or higher
- Docker and Docker Compose (for running integration tests)
- Git (for cloning the API repository during tests)
Setup Steps
-
Clone the repository:
git clone https://github.com/papaemmelab/isabl_cli.git cd isabl_cli
-
Install the package in editable mode with test dependencies:
pip install -e .[test]
This installs the package in development mode along with all testing dependencies (pytest, coverage, black, etc.).
-
Verify the installation:
isabl --help
Testing
The test suite can be run in two ways:
Running Tests via Script (Recommended)
The test script (./tests/test-with-compose.sh) automatically clones the isabl_api repository, starts the API and database through Docker containers, then executes the test suite using pytest with coverage reporting.
Run the full test suite:
./tests/test-with-compose.sh
To skip the build step (faster for subsequent runs):
./tests/test-with-compose.sh --skip-build
Note: The test script requires the API to be running. It will clone the isabl_api repository into a sibling api directory if it doesn't exist.
Running Tests Directly
If you have a local Isabl API instance running (e.g., via docker compose up -d in the isabl_api repository), you can run pytest commands directly:
# Set required environment variables
export ISABL_CLIENT_ID=test-cli-client
export ISABL_API_URL=http://localhost:8000/api/v1/
# Run tests with coverage
pytest --cov=isabl_cli tests/
This allows for faster iteration during development without rebuilding containers.
Running Specific Tests
You can run specific test files or test functions:
# Run a specific test file
pytest tests/test_api.py
# Run a specific test function
pytest tests/test_api.py::test_function_name
# Run with verbose output
pytest -v tests/
Usage
# Set up your environment variables
export ISABL_API_URL="http://<your-isabl-instance>/api/v1/"
export CLIENT_ID="<your-client-id>"
# Authenticate and cache credentials
isabl login
# See all available commands
isabl --help
CI/CD Setup
The GitHub Actions workflow requires the following secrets to be configured in the repository settings:
Required Secrets
GH_PAT: GitHub Personal Access Token for authenticating with GitHub (used to clone theisabl_apirepository during tests)DOCKER_USERNAME: Docker Hub username for the papaemmelab organizationDOCKER_PASSWORD: Docker Hub password or access token for the papaemmelab organizationCODECOV_TOKEN: Codecov token for the papaemmelab/isabl_cli repository
Configure these secrets in your GitHub repository under Settings → Secrets and variables → Actions.
Contributing
Contributions are welcome and greatly appreciated, check our contributing guidelines!
License
isabl is free for academic and research use. For commercial use, please contact us.
Credits
Isabl was created at Elli Papaemmanuil's lab.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file isabl_cli-2.0.2.tar.gz.
File metadata
- Download URL: isabl_cli-2.0.2.tar.gz
- Upload date:
- Size: 80.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c396d635a3cfa32a525d5f7eeab51e54656d3de12837ca1485adb6a57a93f246
|
|
| MD5 |
41ea7c65aa12d67c74732b0e3ecf8c17
|
|
| BLAKE2b-256 |
e9ed70b76adecc7b134037a7e6f8ff0ceec513bf7b8a383c80412d54a0160794
|
Provenance
The following attestation bundles were made for isabl_cli-2.0.2.tar.gz:
Publisher:
build-and-deploy.yaml on papaemmelab/isabl_cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
isabl_cli-2.0.2.tar.gz -
Subject digest:
c396d635a3cfa32a525d5f7eeab51e54656d3de12837ca1485adb6a57a93f246 - Sigstore transparency entry: 1374240378
- Sigstore integration time:
-
Permalink:
papaemmelab/isabl_cli@77554bfa64e1b468c78242f6ccbd37d99b0d9531 -
Branch / Tag:
refs/tags/v2.0.2 - Owner: https://github.com/papaemmelab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-and-deploy.yaml@77554bfa64e1b468c78242f6ccbd37d99b0d9531 -
Trigger Event:
push
-
Statement type:
File details
Details for the file isabl_cli-2.0.2-py3-none-any.whl.
File metadata
- Download URL: isabl_cli-2.0.2-py3-none-any.whl
- Upload date:
- Size: 91.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8fc72484f20117be45e8d500fefddfd70d9f4a78aa0dbe91531dd489f28104d
|
|
| MD5 |
6d44a2fe14ec66083e25b907302b90f5
|
|
| BLAKE2b-256 |
8d498ed06c184a3b0c5bc4631c9e7ca206730bf142ac7f1e5aa1a47b5eadab6f
|
Provenance
The following attestation bundles were made for isabl_cli-2.0.2-py3-none-any.whl:
Publisher:
build-and-deploy.yaml on papaemmelab/isabl_cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
isabl_cli-2.0.2-py3-none-any.whl -
Subject digest:
c8fc72484f20117be45e8d500fefddfd70d9f4a78aa0dbe91531dd489f28104d - Sigstore transparency entry: 1374240474
- Sigstore integration time:
-
Permalink:
papaemmelab/isabl_cli@77554bfa64e1b468c78242f6ccbd37d99b0d9531 -
Branch / Tag:
refs/tags/v2.0.2 - Owner: https://github.com/papaemmelab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-and-deploy.yaml@77554bfa64e1b468c78242f6ccbd37d99b0d9531 -
Trigger Event:
push
-
Statement type: