Skip to main content

banner

Build Status License codecov.io documentation status DOI

Blue Brain SNAP

Blue Brain Simulation and Neural network Analysis Productivity layer (Blue Brain SNAP).

Blue Brain SNAP is a Python library for accessing BlueBrain circuit models represented in SONATA format.

Installation

Blue Brain SNAP can be installed using pip:

pip install bluepysnap

Usage

For a full in-depth usage quide, there’s a series of jupyter notebooks available in doc/source/notebooks subfolder.

There are two main interface classes provided by Blue Brain SNAP:

Circuit corresponds to the static structure of a neural network, that is:

  • node positions and properties,

  • edge positions and properties, and,

  • detailed morphologies.

Simulation corresponds to the dynamic data for a neural network simulation, including:

  • spike reports,

  • soma reports, and,

  • compartment reports.

Most of Blue Brain SNAP methods return pandas Series or DataFrames, indexed in a way to facilitate combining data from different sources (that is, by node or edge IDs).

Among other dependencies, Blue Brain SNAP relies on Blue Brain Project provided libraries:

  • libsonata, for accessing SONATA files

  • MorphIO, for accessing detailed morphologies

Tools

Circuit Validation

Blue Brain SNAP provides a SONATA circuit validator for verifying circuits.

The validation includes:

  • integrity of the circuit config file.

  • existence of the different node/edges files and components directories.

  • presence of the “sonata required” field for node/edges files.

  • the correctness of the edge to node population/ids bindings.

  • existence of the morphology files for the nodes.

This functionality is provided by either the cli function:

bluepysnap validate-circuit my/circuit/path/circuit_config.json

Or a python free function:

from bluepysnap.circuit_validation import validate
errors = validate("my/circuit/path/circuit_config.json")

Simulation Validation

Similarly to circuit validation, Blue Brain SNAP also provides a SONATA simulation validator for verifying simulation configs.

Currently, the validator verifies that:

  • all the mandatory fields are present in the config file

  • all the properties in the simulation config specification have correct data types and accepted values

  • paths specified in the config exist

  • node sets specified in the config exist

  • input spike file’s node IDs are found in the source node set

  • electrodes file’s node IDs are found in the simulation’s node_set (if set) or in non-virtual populations

  • neurodamus helpers and variables exist (requires neurodamus to be available in the environment)

This functionality is provided by either the cli function:

bluepysnap validate-simulation my/circuit/path/simulation_config.json

Or a python free function:

from bluepysnap.simulation_validation import validate
errors = validate("my/circuit/path/simulation_config.json")

Acknowledgements

The development of this software was supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal Institutes of Technology.

This project/research has received funding from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 785907 (Human Brain Project SGA2).

The Blue Brain Project would like to thank Dr Eilif Muller, the author of the precursor to Blue Brain SNAP, for his invaluable insights and contributions

License

Blue Brain SNAP is licensed under the terms of the GNU Lesser General Public License version 3, unless noted otherwise, for example, external dependencies. Refer to COPYING.LESSER and COPYING for details.

Copyright (c) 2019-2024 Blue Brain Project/EPFL

Copyright (c) 2025 Open Brain Institute

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.

Metadata

Release files for bluepysnap 3.0.8

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

Source distribution (sdist)

Source distribution for bluepysnap 3.0.8
File Size Uploaded
bluepysnap-3.0.8.tar.gz 969.3 kB Details

Built distribution (wheel)

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

Total release size: 1.1 MB

Release files / bluepysnap-3.0.8.tar.gz

Download URL bluepysnap-3.0.8.tar.gz
Size 969.3 kB
Tags Source
SHA-256 checksum
How to use checksums
27019d7751f483c863a23e97659da4d41467dfde16fa1030dc0280edbb14982b
BLAKE2b-256 checksum
How to use checksums
b6b1749ee0b49b50b0095a9c46005afb5194144730c2e856caec7f0aa8c92c82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 14, 2026.

Transparency log

Release files / bluepysnap-3.0.8-py3-none-any.whl

Download URL bluepysnap-3.0.8-py3-none-any.whl
Size 111.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59d21b0b88ebde550305b25f9fcddd140a89d8a9fd1fa5b33a1586ea09b1179f
BLAKE2b-256 checksum
How to use checksums
dff47e0c0d5c92655b72a8ed4b40fb07b45815c4edde98aa82d41a4ae780573a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.0.8 This release

2 release files

3.0.7

1 release file

3.0.6

1 release file

3.0.5

1 release file

3.0.4

1 release file

3.0.3

1 release file

3.0.2

1 release file

3.0.1

1 release file

3.0.0

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.13.2

1 release file

0.13.1

1 release file

0.13.0

1 release file

0.12.1

1 release file

0.12.0

1 release file

0.11.0

1 release file

0.10.0

1 release file

0.9.0

1 release file

0.8.0

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.0

1 release file

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