Skip to main content

SONATA files reader

Project description

banner

license coverage documentation status

libsonata

C++ / Python reader for SONATA circuit files: SONATA guide

Installation

Installing from PyPI

pip install libsonata

Installing as a Python package, directly from GitHub

pip install git+https://github.com/openbraininstitute/libsonata

Building the C++ library

git clone git@github.com:openbraininstitute/libsonata.git --recursive
cd libsonata
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DEXTLIB_FROM_SUBMODULES=ON ..
make -j

Since libsonata uses backports for std::optional and std::variant which turn into their actual STL implementation once available, it’s recommended to compile libsonata with the same C++ standard as the project linking to libsonata. This is done by passing -DCMAKE_CXX_STANDARD={14,17} to the cmake command above.

Usage (Python)

Nodes

NodeStorage
>>> import libsonata

>>> nodes = libsonata.NodeStorage('path/to/H5/file')

# list populations
>>> nodes.population_names

# open population
>>> population = nodes.open_population(<name>)
NodePopulation
# total number of nodes in the population
>>> population.size

# attribute names
>>> population.attribute_names

# get attribute value for single node, say 42
>>> population.get_attribute('mtype', 42)

# ...or Selection of nodes (see below) => returns NumPy array with corresponding values
>>> selection = libsonata.Selection(values=[1, 5, 9, 42])  # nodes 1, 5, 9, 42
>>> mtypes = population.get_attribute('mtype', selection)
>>> list(zip(selection.flatten(), mtypes))
[(1, u'mtype_of_1'), (5, u'mtype_of_5'), (9, u'mtype_of_9'), (42, u'mtype_of_42')]
Selection

List of element IDs (either node_id, or edge_id) where adjacent IDs are grouped for the sake of efficient HDF5 file access. For instance, {1, 2, 3, 5} sequence becomes {[1, 4), [5, 6)}.

Selection can be instantiated from:
  • a sequence of scalar values (works for NumPy arrays as well)

  • a sequence of pairs (interpreted as ranges above, works for N x 2 NumPy arrays as well)

EdgePopulation connectivity queries (see below) return Selections as well.

>>> selection = libsonata.Selection([1, 2, 3, 5])
>>> selection.ranges
[(1, 4), (5, 6)]
>>> selection = libsonata.Selection([(1, 4), (5, 6)])
>>> selection.flatten()
[1, 2, 3, 5]
>>> selection.flat_size
4
>>> bool(selection)
True
Node Sets

libsonata can work with the Node Set concept, as described here: SONATA guide: Node Sets File This allows the definition of names for groups of cells, and a way to query them. libsonata also allows for extended expressions, such as Regular expressions,and floating point tests, as described here: SONATA extension: Node Sets

# load a node set JSON file
>>> node_sets = libsonata.NodeSets.from_file('node_sets.json')

# list node sets
>>> node_sets.names
{'L6_UPC', 'Layer1', 'Layer2', 'Layer3', ....}

# get the selection of nodes that match in population
>>> selection = node_sets.materialize('Layer1', population)

# node sets can also be loaded from a JSON string
>>> node_sets_manual = libsonata.NodeSets(json.dumps({"SLM_PPA_and_SP_PC": {"mtype": ["SLM_PPA", "SP_PC"]}}))
>>> node_sets_manual.names
{'SLM_PPA_and_SP_PC'}

Edges

EdgeStorage

Population handling for EdgeStorage is analogous to NodeStorage:

>>> edges = libsonata.EdgeStorage('path/to/H5/file')

# list populations
>>> edges.population_names

# open population
>>> population = edges.open_population(<name>)
EdgePopulation
# total number of edges in the population
>>> population.size

# attribute names
>>> population.attribute_names

# get attribute value for single edge, say 123
>>> population.get_attribute('delay', 123)

# ...or Selection of edges => returns NumPy array with corresponding values
>>> selection = libsonata.Selection([1, 5, 9])
>>> population.get_attribute('delay', selection) # returns delays for edges 1, 5, 9

…with additional methods for querying connectivity, where the results are selections that can be applied like above

# get source / target node ID for the 42nd edge:
>>> population.source_node(42)
>>> population.target_node(42)

# query connectivity (result is Selection object)
>>> selection_to_1 = population.afferent_edges(1)  # all edges with target node_id 1
>>> population.target_nodes(selection_to_1)  # since selection only contains edges
                                             # targeting node_id 1 the result will be a
                                             # numpy array of all 1's
>>> selection_from_2 = population.efferent_edges(2)  # all edges sourced from node_id 2
>>> selection = population.connecting_edges(2, 1)  # this selection is all edges from
                                                   # node_id 2 to node_id 1

# ...or their vectorized analogues
>>> selection = population.afferent_edges([1, 2, 3])
>>> selection = population.efferent_edges([1, 2, 3])
>>> selection = population.connecting_edges([1, 2, 3], [4, 5, 6])

Reports

SpikeReader
>>> import libsonata

>>> spikes = libsonata.SpikeReader('path/to/H5/file')

# list populations
>>> spikes.get_population_names()

# open population
>>> population = spikes['<name>']
SpikePopulation
# get all spikes [(node_id, timestep)]
>>> population.get()
[(5, 0.1), (2, 0.2), (3, 0.3), (2, 0.7), (3, 1.3)]

# get all spikes betwen tstart and tstop
>>> population.get(tstart=0.2, tstop=1.0)
[(2, 0.2), (3, 0.3), (2, 0.7)]

# get spikes attribute sorting (by_time, by_id, none)
>>> population.sorting
'by_time'

Pandas can be used to create a dataframe and get a better representation of the data
>>> import pandas

data = population.get()
df = pandas.DataFrame(data=data, columns=['ids', 'times']).set_index('times')
print(df)
       ids
times
0.1      5
0.2      2
0.3      3
0.7      2
1.3      3
SomaReportReader
>>> somas = libsonata.SomaReportReader('path/to/H5/file')

# list populations
>>> somas.get_population_names()

# open population
>>> population_somas = somas['<name>']
SomaReportPopulation
# get times (tstart, tstop, dt)
>>> population_somas.times
(0.0, 1.0, 0.1)

# get unit attributes
>>> population_somas.time_units
'ms'
>>> population_somas.data_units
'mV'

# node_ids sorted?
>>> population_somas.sorted
True

# get a list of all node ids in the selected population
>>> population_somas.get_node_ids()
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

# get the DataFrame of the node_id values for the timesteps between tstart and tstop
>>> data_frame = population_somas.get(node_ids=[13, 14], tstart=0.8, tstop=1.0)

# get the data values
>>> data_frame.data
[[13.8, 14.8], [13.9, 14.9]]

# get the list of timesteps
>>> data_frame.times
[0.8, 0.9]

# get the list of node ids
>>> data_frame.ids
[13, 14]

Once again, pandas can be used to create a dataframe using the data, ids and times lists

>>> import pandas

df = pandas.DataFrame(data_frame.data, columns=data_frame.ids, index=data_frame.times)
print(df)
       13    14
0.8  13.8  14.8
0.9  13.9  14.9
ElementReportReader
>>> elements = libsonata.ElementReportReader('path/to/H5/file')

# list populations
>>> elements.get_population_names()

# open population
>>> population_elements = elements['<name>']
ElementReportPopulation
# get times (tstart, tstop, dt)
>>> population_elements.times
(0.0, 4.0, 0.2)

>>> population_elements.get_node_ids()
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

# get the DataFrame of the node_id values for the timesteps between tstart and tstop
>>> data_frame = population_elements.get(node_ids=[13, 14], tstart=0.8, tstop=1.0)

# get the data values (list of list of floats with data[time_index][element_index])
>>> data_frame.data
[[46.0, 46.1, 46.2, 46.3, 46.4, 46.5, 46.6, 46.7, 46.8, 46.9], [56.0, 56.1, 56.2, 56.3, 56.4, 56.5, 56.6, 56.7, 56.8, 56.9]]

# get the list of timesteps
>>> data_frame.times
[0.8, 1.0]

# get the list of (node id, element_id)
>>> data_frame.ids
[(13, 30), (13, 30), (13, 31), (13, 31), (13, 32), (14, 32), (14, 33), (14, 33), (14, 34), (14, 34)]

The same way than with spikes and soma reports, pandas can be used to get a better representation of the data

>>> import pandas

df = pandas.DataFrame(data_frame.data, columns=pandas.MultiIndex.from_tuples(data_frame.ids), index=data_frame.times)
print(df)
       13                            14
       30    30    31    31    32    32    33    33    34    34
0.8  46.0  46.1  46.2  46.3  46.4  46.5  46.6  46.7  46.8  46.9
1.0  56.0  56.1  56.2  56.3  56.4  56.5  56.6  56.7  56.8  56.9

For big datasets, using numpy arrays could greatly improve the performance

>>> import numpy

np_data = numpy.asarray(data_frame.data)
np_ids = numpy.asarray(data_frame.ids).T
np_times = numpy.asarray(data_frame.times)

df = pandas.DataFrame(np_data, columns=pandas.MultiIndex.from_arrays(np_ids), index=np_times)

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 research was supported by the EBRAINS research infrastructure, funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3). 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).

License

libsonata is distributed under the terms of the GNU Lesser General Public License version 3, unless noted otherwise, for example, for external dependencies. Refer to COPYING.LESSER and COPYING files for details.

libsonata 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.

libsonata 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 libsonata. If not, see <https://www.gnu.org/licenses/>.

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

Copyright (c) 2025-2026 Open Brain Institute

Project details


Download files

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

Source Distribution

libsonata-0.1.35.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

libsonata-0.1.35-cp314-cp314-manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

libsonata-0.1.35-cp314-cp314-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

libsonata-0.1.35-cp314-cp314-macosx_10_15_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

libsonata-0.1.35-cp313-cp313-manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

libsonata-0.1.35-cp313-cp313-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

libsonata-0.1.35-cp313-cp313-macosx_10_13_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

libsonata-0.1.35-cp312-cp312-manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

libsonata-0.1.35-cp312-cp312-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

libsonata-0.1.35-cp312-cp312-macosx_10_13_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

libsonata-0.1.35-cp311-cp311-manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

libsonata-0.1.35-cp311-cp311-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

libsonata-0.1.35-cp311-cp311-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

libsonata-0.1.35-cp310-cp310-manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

libsonata-0.1.35-cp310-cp310-macosx_11_0_arm64.whl (1.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

libsonata-0.1.35-cp310-cp310-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file libsonata-0.1.35.tar.gz.

File metadata

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

File hashes

Hashes for libsonata-0.1.35.tar.gz
Algorithm Hash digest
SHA256 81bcde7fb3cdef1e01c8a3c9393f074b5f991e8eb34edae1b34fcc1c47ba4f73
MD5 0de9bb30611d278be70802f0f37bba92
BLAKE2b-256 3e9a4e532b54b5da98c98401d2d987a2bed3912156cd201fe8e826681054c04f

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35.tar.gz:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 172affb857dc1ea545cc0a031c1fdef6b136f29522ae9c8551c144108799c14c
MD5 b79cb8a65b3332ed7a39d4710c0e7406
BLAKE2b-256 13f7fe57f874a2044aacd5a79a80d910fdba9ef8a81b689518bd0eca61cdd799

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7cfa0cde5e12f8cc79cf5e868b89706c8990328b0c74a36fc0f5756510f24d92
MD5 60cca6ff5dafe088ae66b19c87bcb4b9
BLAKE2b-256 dda35dbda02deec309abca52933b409a78a9152ef72eb99cddb9af5a5a496bac

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 92f2d1cd658fcee393df7ce14f8f2416f3179f5b1604baa9fdc14220498a5c70
MD5 0ca9f3231bad2eab02f35438e45a0aff
BLAKE2b-256 c1bee24db90d60fcd8dc2194c92c290a55dd1446fc6f450d2ca2af10b5ad4406

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9f891e5b5614020536917c3b0f00ad2f9c1eeaaa282152d5ddff8d908640948f
MD5 97a0ee8b68d6cfa254b9dc1803dfc585
BLAKE2b-256 a67eb365137f6cde47180a193526b234a14a0df969e797f69c37d8f0171def74

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 313a27da686f72a2bdae8e71bb7f355683ca3b8a3fbcd22868f1c180bc1f7e07
MD5 0573e628dc07c150c11821bf3b81892d
BLAKE2b-256 a558fb139349a03f3960945f002421315162b8b5a08b7da0d856adc5688be4e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6279121069f19c8988c7bbf4a1aeb3adbc15c0979e2496ba32e99c222446e8e7
MD5 cc84eb86d203d801152bb3629371877d
BLAKE2b-256 3c8542296097836e6737cd1de7eab37369ed5f28b828befb8db67498931c6c4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c1d0dd8783af71dba4cdb481c53b7d7698b5146363da25deff7ef22440c9ea6c
MD5 2390609a23d974ef7473bf1336167999
BLAKE2b-256 b86479fd8341788478cd9b96a3fdded2538d5a62e6fc315e030a55948d872d05

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc95247f73efc165ac1a8cfc334a12fdcadbcf67d6aa07f4acde5cd43d9a2eda
MD5 3ab20fc3bdc1ad474ffbdfbf8e55a075
BLAKE2b-256 491f286fa6a3b4334b2129a5526de13e195e5fbf0b3de9dfd2820d0a9e658ae8

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c25c7aa31582e1cfd3e10596433aee59591e5f4a2242e4f5149a82b4c9436508
MD5 8f1fa77fe37929a96e66bc9ad6c16c49
BLAKE2b-256 5a8fcffae895d67ebf122f8d88271b6189ded1ed25e7d2c0ba136ee6cb6a6fc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 979e6eb84307aeb25d35015ab7a95416b7ce6c039b4dee963121ff48901ea7bf
MD5 783c6f86ed8f87b69764a6634baae7d6
BLAKE2b-256 a40c24ba6dcc7f30b5ae9e3bd21b49d1699d546288d148201e2be00d17c4e63e

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e49dbcdab0210a4e9f45ccd8df72281da10a55ba16e656601165ec69a02ae43e
MD5 caa55cbe47eee6f3e617da313d0053a0
BLAKE2b-256 95d53d22906cb4b254595974c4d0b671c6536185d9582f944ac159eecb0df2c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7eb46eaab567dece2bb0633e42b7dec34738e55f753d0d0ea0aae2db30aca7c2
MD5 180c8174466e9042de6b666b416811de
BLAKE2b-256 2d1b0d2587deb91e2ec4456d27c165b93aaaeebbfa28da18ab39c99a341720f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fe9cc4bcce132f44afbebe5ac86485847f3b40defe62dd8a6dae47e5a8939d0a
MD5 40568b437845c78b6b753ea6b4acaccd
BLAKE2b-256 688cbf558f945b1254f652c50b92878d8f0bfdcbfb146b94043cf1240ae586c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e4c84a8aec4dcd3c3c99b0fc9278edc3622b471e8434aef1bca15ad30347434
MD5 f2d602484e8a5b5ef97ecfd357813c99
BLAKE2b-256 48ae64ca5507b368b21d135db87016b19293a31c61ab04a12581152ddc046178

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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

File details

Details for the file libsonata-0.1.35-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.35-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1f0b5becae2a74bf8b0caed3ac27d8772307cc3c4d927579b38589e74ee5ca2c
MD5 cba408786f58364e156f7d0498e068fe
BLAKE2b-256 60ed203e322b27d7a2b790de668d4b09fb81df06c88e13d746e9d78a331fb352

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.35-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish-sdist-wheels.yml on openbraininstitute/libsonata

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