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.
Environment Variables (recommended)
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:
- User clicks “Analyze in Notebook” in the OmniBioAI UI
- Django endpoint generates a notebook
- 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 iteration1.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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.