Installation
omnibias is a uv workspace monorepo of small, focused packages. Install only the backend you need.
Requirements
- Python 3.10, 3.11, or 3.12
- One of PyTorch ≥ 2.0, JAX ≥ 0.4.30, or Keras 3 (depending on the backend you choose)
Install a backend
# Most common: PyTorch users
pip install omnibias-torch
# JAX-only users
pip install omnibias-jax
# FermiNet bridge (pulls in jax + core)
pip install omnibias-ferminet
# Pure math, no backend
pip install omnibias-core
Keras 3 unified backend
omnibias-keras runs the same code on TensorFlow, JAX, or PyTorch via
Keras's backend selector. Choose the backend with the KERAS_BACKEND
environment variable before importing keras:
pip install omnibias-keras[jax] # or [tensorflow] / [torch]
import os
os.environ["KERAS_BACKEND"] = "jax" # "tensorflow" | "jax" | "torch"
import keras
from omnibias.keras import OMBU
Scientific extension packages
| Package | Install | Status |
|---|---|---|
| Physics-informed NNs | pip install omnibias-pinn[torch] | beta |
| Quantum PINNs | pip install omnibias-qpinn[torch] | alpha |
| Field substrate & operators | pip install omnibias-fields[torch] | beta |
| Differential geometry | pip install omnibias-geometry[torch] | beta |
| Closed-form curvature | pip install omnibias-curvature | alpha |
| Equation discovery | pip install omnibias-symbolic | alpha |
| Certified verification | pip install omnibias-verify[torch] | alpha |
| Validated dynamics | pip install omnibias-dynamics | alpha |
See the API reference for what each package exposes and the Stability matrix for support guarantees.
Develop from source
Clone and materialise the workspace with uv:
git clone https://github.com/derivon-ai/omnibias && cd omnibias
uv sync --all-extras --dev
uv run pytest
The certified register works without any extra tools. To exercise the
Lean 4 kernel gate (which re-checks finite obligations), install a Lean
toolchain; without it, the bridge degrades gracefully and the
theorem_prover_verified flag simply stays False. See
The formal loop.
Verify your install
from omnibias.jax import get_activation
import jax.numpy as jnp
spec = get_activation("tanh")
print(spec.fastpath(jnp.array([0.5]), 3)) # 3rd derivative of tanh, closed form
If that prints a value without error, you are ready for the Quickstart.