Skip to main content

isabl_cli command line client.

Project description

Isabl CLI

Run Isabl CLI tests pypi badge codecov badge code formatting MCP

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

  1. Clone the repository:

    git clone https://github.com/papaemmelab/isabl_cli.git
    cd isabl_cli
    
  2. 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.).

  3. 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

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

isabl_cli-2.0.2.tar.gz (80.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

isabl_cli-2.0.2-py3-none-any.whl (91.8 kB view details)

Uploaded Python 3

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

Hashes for isabl_cli-2.0.2.tar.gz
Algorithm Hash digest
SHA256 c396d635a3cfa32a525d5f7eeab51e54656d3de12837ca1485adb6a57a93f246
MD5 41ea7c65aa12d67c74732b0e3ecf8c17
BLAKE2b-256 e9ed70b76adecc7b134037a7e6f8ff0ceec513bf7b8a383c80412d54a0160794

See more details on using hashes here.

Provenance

The following attestation bundles were made for isabl_cli-2.0.2.tar.gz:

Publisher: build-and-deploy.yaml on papaemmelab/isabl_cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for isabl_cli-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c8fc72484f20117be45e8d500fefddfd70d9f4a78aa0dbe91531dd489f28104d
MD5 6d44a2fe14ec66083e25b907302b90f5
BLAKE2b-256 8d498ed06c184a3b0c5bc4631c9e7ca206730bf142ac7f1e5aa1a47b5eadab6f

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page