Skip to main content
TVBO logo

The Virtual Brain Ontology

Lint & Test Ruff PyPI version PyPI - Downloads License

tvbo is a Python library to access the knowledge representation system (i.e., ontology) and data model for the neuroinformatics platform The Virtual Brain (TVB).

🚀 Installation

pip install tvbo

Platform Notes

Intel Mac Users (x86_64): TVBO requires Python ≥3.11. On Intel Macs, the [audio] and [tvb] extras pin numba<0.60 / llvmlite<0.44 because newer llvmlite has no macosx_x86_64 wheels for Python 3.12+. JAX is also pinned to 0.4.28 (the last Intel-Mac release).

Apple Silicon Mac Users: Python ≥3.11 is supported. You'll get the latest compatible JAX version automatically.

📖 Quick Start

Example: Lorenz Attractor Simulation

📝 Model Specification (YAML)
name: LorenzAttractor
parameters:
    sigma:
        value: 10
        label: Prandtl number
    rho:
        label: Rayleigh number
        value: 28
    beta:
        value: 2.6666666666666665
state_variables:
    X:
        equation:
            lhs: \dot{X}
            rhs: sigma * (Y - X)
    Y:
        equation:
            lhs: \dot{Y}
            rhs: X * (rho - Z) - Y
    Z:
        equation:
            lhs: \dot{Z}
            rhs: X * Y - beta * Z
🔧 Generate Code
from tvbo import Dynamics, SimulationExperiment

lorenz = Dynamics(
    parameters={
        "sigma": {"value": 10.0},
        "rho": {"value": 28.0},
        "beta": {"value": 8 / 3},
    },
    state_variables={
        "X": {"equation": {"rhs": "sigma * (Y - X)"}},
        "Y": {"equation": {"rhs": "X * (rho - Z) - Y"}},
        "Z": {"equation": {"rhs": "X * Y - beta * Z"}},
    },
)

code = SimulationExperiment(dynamics=lorenz).render_code('jax')
print(code)
▶️ Run Simulation
from tvbo import Dynamics, SimulationExperiment

lorenz = Dynamics(
    parameters={
        "sigma": {"value": 10.0},
        "rho": {"value": 28.0},
        "beta": {"value": 8 / 3},
    },
    state_variables={
        "X": {"equation": {"rhs": "sigma * (Y - X)"}},
        "Y": {"equation": {"rhs": "X * (rho - Z) - Y"}},
        "Z": {"equation": {"rhs": "X * Y - beta * Z"}},
    },
)

# Run simulation and plot results
SimulationExperiment(dynamics=lorenz).run(duration=1000).plot()

📚 Documentation

🔬 Features

  • 🧠 Access TVB ontology and knowledge base
  • 📊 Define and simulate dynamical systems
  • 🔄 Code generation for multiple backends (JAX, NumPy)
  • 📈 Built-in visualization tools
  • 🗃️ Structured metadata schema

📦 Installation Options

Standard Installation

pip install tvbo

With API Server Support

pip install tvbo[api]

With TVB Integration

pip install tvbo[tvb]

Full Installation (All Features)

pip install tvbo[all]

Note: The knowledge extra requires manual installation:

pip install git+https://github.com/neurommsig/neurommsig-knowledge.git

📄 License

Copyright © 2025 Charité Universitätsmedizin Berlin. This software is licensed under the terms of the European Union Public Licence (EUPL) version 1.2 or later.

Funding

P.R. acknowledges support by EU Horizon Europe program Horizon EBRAINS2.0 (101147319), VirtualBrainTwin(101137289), EBRAINS-PREP101079717, AISN101057655, EBRAIN-Health 101058516, EIC grant PHRASE 101058240, by the Digital Europe Programme TEF-Health (101100700), Shaiped (101195135), CoordinaTEF (101168074) German Research Foundation SFB 1436 (project ID 425899996); SFB 1315 (project ID 327654276); SFB 936 (project ID 178316478); SPP Computational Connectomics RI 2073/6-1, RI 2073/10-2, RI 2073/9-1; DFG Clinical Research Group BECAUSE-Y 504745852, Berlin University Alliance OpenMake, the Virtual Research Environment at the Charité Berlin and EBRAINS Health Data Cloud and the Berlin Institute of Health and Foundation Charité. P.R. and J.M. acknowledge additionally support by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) - Project-ID 424778381 - TRR 295.

Metadata

Release files for tvbo 0.5.3

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

Source distribution (sdist)

Source distribution for tvbo 0.5.3
File Size Uploaded Provenance Actions
tvbo-0.5.3.tar.gz 23.5 MB With provenance Details for tvbo-0.5.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tvbo 0.5.3
File Interpreter ABI Platform Actions
tvbo-0.5.3-py3-none-any.whl Python 3 none any Details for tvbo-0.5.3-py3-none-any.whl

Total release size: 47.4 MB

Release files / tvbo-0.5.3.tar.gz

Download URL tvbo-0.5.3.tar.gz
Size 23.5 MB
Tags Source
SHA-256 checksum
How to use checksums
c41fe2fabb7724ee39550b66ab6c5999a624a2ea6a16a881d28badb7fcc4f5ef
BLAKE2b-256 checksum
How to use checksums
485d8f70211bddd50a1fdc879e1c46c532ae2f528f4fefbf27a32856a1d4817e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log

Release files / tvbo-0.5.3-py3-none-any.whl

Download URL tvbo-0.5.3-py3-none-any.whl
Size 23.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
bbf979c793e10285273da49251c9b42e14a38eb392a31fb6b9ee0d363f665739
BLAKE2b-256 checksum
How to use checksums
d6144978edd809e76ad0ec42f6c333c3889f51b728e6d8c834e4c1ad9042da2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log

Security for tvbo 0.5.3

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for tvbo-0.5.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 9, 2026.

Transparency log

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.

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