Skip to main content

Standardized library of functions and workflows for biophysically-detailed brain modeling

Project description

OBI-ONE

OBI-ONE is a standardized library of workflows for biophysically-detailed brain modeling, with the following features:

  • Integration with a standardized cloud database for neuroscience and computational neuroscience through entitysdk.
  • Standardized provenance of workflows.
  • Standardized parameter scans across different modeling workflows.
  • Corresponding OpenAPI schema and service generated from Pydantic.

Installation

For Most Users (Default)

# Install core + science dependencies
make install

This installs everything needed for running tasks and data processing scripts.

For Development (Full Setup)

# Install all dependencies + dev tools
make install-dev

This installs everything needed for development: all optional dependencies + dev tools (pytest, ruff, etc.).

For Specific Use Cases

# Service deployment
make install-service

# Notebook development
make install-notebooks

# Production build (all deps, no dev tools)
make install-all

Pre-installation Requirements

brew install uv open-mpi boost cmake

Examples

Notebooks are available in examples/ Remember to install notebook dependencies with

make install-notebooks

Technical Overview / Glossary

The package is split into core/ and scientific/ code.

core/ defines the following key classes:

  • ScanConfig: defines configurations for specific modeling use cases such as a CircuitSimulationScanConfig. A Form is composed of one or multiple Blocks (see next), which define the parameterization of a use case. Currently Forms can have both single Blocks and dictionaries of Blocks. Each Form, for example, has its own Initialize Block for specifying the base parameters of the use case. Dictionaries of Blocks of a particular type are used where the Form can accept an unspecified number of this Block type, such as Stimulus Blocks.
  • Block: defines a component of a ScanConfig. Blocks are the components which support the specification of parameters which should be scanned over in the multi-dimensional parameter scan. When using the Form (in a Jupyter Notebook for example). Any parameter which is specified as a list is used as a dimension of a multi-dimensional parameter scan when passed to a Scan object (see below).
  • SingleConfig:
  • Task:
  • ScanGenerationTask: is an example task which takes a single ScanConfig as input, an output path and a string for specifying how output files should be stored. Then the function scan.execute() function can then be called which generates the multiple dimensional scan

FastAPI Service

Launch the FastAPI Service, with docs viewable at: http://127.0.0.1:8100/docs

make install-service
make run-local

Documentation

OBI-ONE uses MkDocs with the Material theme for documentation.

Installing Documentation Dependencies

To install the documentation dependencies (MkDocs and MkDocs Material) without affecting your existing dependencies:

make install-docs

This command uses uv sync --group docs to add only the documentation dependencies to your environment, ensuring that other installed packages remain unchanged.

Serving Documentation Locally

To build and serve the documentation locally for preview:

make serve-docs

This will start a local development server (typically at http://127.0.0.1:8000) where you can preview the documentation. The server will automatically reload when you make changes to the documentation files.

Tags

Tags are metadata used to link documentation .md files to products. Each documentation file should include appropriate tags in its frontmatter to categorize and organize content.

Continuous Integration

The documentation is automatically checked in CI on pull requests. The .github/workflows/check-docs.yml workflow:

  1. Checks if any files in the docs/ directory have been modified in the pull request
  2. If no documentation changes are detected, the check fails with an error message
  3. You can skip this check by adding the skip docs label to your pull request

This ensures that documentation is updated alongside code changes. The check only runs on pull requests targeting main and can be bypassed with the skip docs label when documentation updates are not needed.


Contributions

Please see CONTRIBUTING.md for guidelines on how to contribute.

Acknowledgements

Copyright © 2025-2026 Open Brain Institute

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

obi_one-2026.4.7.tar.gz (13.9 MB view details)

Uploaded Source

File details

Details for the file obi_one-2026.4.7.tar.gz.

File metadata

  • Download URL: obi_one-2026.4.7.tar.gz
  • Upload date:
  • Size: 13.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for obi_one-2026.4.7.tar.gz
Algorithm Hash digest
SHA256 6747849d060c77f31bdef2bde1474edf338c02f8a95b24f6cc2890e8f9f0cfdc
MD5 4635de5f94ab589af1a02b567944b53b
BLAKE2b-256 9c72bdb4f68c389f418b8f9b5de7f57aa5249253bd24d1c5f301ccb8408e9a9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for obi_one-2026.4.7.tar.gz:

Publisher: publish-pypi.yml on openbraininstitute/obi-one

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page