Skip to main content

OmniBioAI SDK

OmniBioAI SDK is a lightweight Python client for interacting with the OmniBioAI platform APIs, including:

  • Object Registry (datasets, studies, jobs, workflows)
  • Development APIs (/api/dev/*)
  • Jupyter-based interactive analysis workflows

The SDK is intentionally thin and explicit — it does not hide API behavior and is designed to evolve alongside the OmniBioAI platform.


Features

  • Simple Python client (OmniClient)
  • Works with local OmniBioAI development servers
  • No Docker required
  • Designed for notebooks, scripts, and pipelines
  • Explicit auth and base URL control
  • Easy to extend with new API endpoints

Installation

pip install omnibioai-sdk

Or during development:

pip install -e .

Quick Start

from omnibioai_sdk import OmniClient

c = OmniClient(
    base_url="http://127.0.0.1:8001",
    token="dev"
)

objects = c.objects_list()
print(objects["count"])

Authentication

The SDK uses header-based authentication.

For development:

Authorization: Bearer dev

You can pass credentials explicitly or via environment variables.

export OMNIBIOAI_BASE_URL=http://127.0.0.1:8001
export OMNIBIOAI_TOKEN=dev

Then simply:

c = OmniClient()

Object Registry API

List objects

lst = c.objects_list()
lst["count"]
lst["items"][0]

Get a single object

obj = c.object_get("56d3fc3a-709b-4ed0-bf17-8cb73c6746b0")
print(obj["object_type"])
print(obj["metadata"])

Notebook-Based Analysis

OmniBioAI supports launching object-aware Jupyter notebooks.

Typical flow:

  1. User clicks “Analyze in Notebook” in the OmniBioAI UI
  2. Django endpoint generates a notebook
  3. JupyterLab opens with the object context preloaded

Inside the notebook:

import os
from omnibioai_sdk import OmniClient

OBJECT_ID = os.environ["OMNIBIOAI_OBJECT_ID"]

c = OmniClient()
obj = c.object_get(OBJECT_ID)

obj["object_type"], obj["metadata"]

Running Jupyter for OmniBioAI

Recommended dev command:

jupyter lab \
  --port 8890 \
  --port-retries=0 \
  --no-browser \
  --notebook-dir . \
  --IdentityProvider.token=devtoken

And set:

export OMNIBIOAI_JUPYTER_BASE=http://127.0.0.1:8890
export OMNIBIOAI_JUPYTER_TOKEN=devtoken

Project Structure

omnibioai_sdk/
├── omnibioai_sdk/
│   ├── __init__.py
│   └── client.py
├── pyproject.toml
├── README.md

Design Philosophy

  • No magic: SDK mirrors REST APIs closely
  • Dev-first: optimized for local servers and notebooks
  • Composable: meant to be imported into pipelines, workflows, and notebooks
  • Extensible: new APIs = new methods, not rewrites

Extending the SDK

Add new API calls by extending OmniClient:

def workflow_list(self):
    r = requests.get(
        f"{self.base_url}/api/dev/workflows/",
        headers=self.headers,
        timeout=self.timeout
    )
    r.raise_for_status()
    return r.json()

No regeneration or codegen required.


Versioning

The SDK follows semantic versioning:

  • 0.x → fast iteration
  • 1.0+ → stable API surface

License

Apache License 2.0


Status

Active development Used internally by the OmniBioAI workbench and services.

Metadata

Release files for omnibioai-sdk 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for omnibioai-sdk 0.1.0
File Size Uploaded Provenance Actions
omnibioai_sdk-0.1.0.tar.gz 3.8 kB Without provenance Details for omnibioai_sdk-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for omnibioai-sdk 0.1.0
File Interpreter ABI Platform Actions
omnibioai_sdk-0.1.0-py3-none-any.whl Python 3 none any Details for omnibioai_sdk-0.1.0-py3-none-any.whl

Total release size: 7.2 kB

Release files / omnibioai_sdk-0.1.0.tar.gz

Download URL omnibioai_sdk-0.1.0.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
645e62ef9382628627a12152b1534879ab63fa48b78f489397756ba21029c4f8
BLAKE2b-256 checksum
How to use checksums
c21095a0959e4a654ba17db1f88890ffc4364f9643c0c2d64c28838c27ca84fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release files / omnibioai_sdk-0.1.0-py3-none-any.whl

Download URL omnibioai_sdk-0.1.0-py3-none-any.whl
Size 3.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bdf976e02b072b4ffd58ef49db99d6573a92ee87a0bb67c6551a80a69d20f7c3
BLAKE2b-256 checksum
How to use checksums
50175e0cafb1e229c115335c8d68953444002cf0c17c06497f37abd1b7184f44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Security for omnibioai-sdk 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page