Skip to main content

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

PackageInstallStatus
Physics-informed NNspip install omnibias-pinn[torch]beta
Quantum PINNspip install omnibias-qpinn[torch]alpha
Field substrate & operatorspip install omnibias-fields[torch]beta
Differential geometrypip install omnibias-geometry[torch]beta
Closed-form curvaturepip install omnibias-curvaturealpha
Equation discoverypip install omnibias-symbolicalpha
Certified verificationpip install omnibias-verify[torch]alpha
Validated dynamicspip install omnibias-dynamicsalpha

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
Optional toolchain for the formal loop

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.