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.

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

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

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.33.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.33-cp314-cp314-manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.14macOS 10.15+ x86-64

libsonata-0.1.33-cp313-cp313-manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

libsonata-0.1.33-cp312-cp312-manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

libsonata-0.1.33-cp311-cp311-manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

libsonata-0.1.33-cp311-cp311-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

libsonata-0.1.33-cp310-cp310-manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

libsonata-0.1.33-cp310-cp310-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for libsonata-0.1.33.tar.gz
Algorithm Hash digest
SHA256 2adbd23e86a88de8ac821361cf1bb5c0996d1aabc50138673a6c59fc695e1d96
MD5 00fd4e9c70cf679716de94dd43539491
BLAKE2b-256 d87581b8fdcaa155998f375f76c68a60d392ba54f97c135cc64d51dbfc78a830

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33.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.33-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 58e272324c86830badf321183ee893e8160af8478cee8102f8e56ce5d4dca945
MD5 7e35408244ae620aa74979ea76f8ba3c
BLAKE2b-256 6d63806dbb8a678796061a1d4122bd8dd7169af079ee7e3c92f2962342b021eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd910592e6c183608c08a1092e8fff6b9c679f007e8dada3f712e5f14ede6b8d
MD5 e7504e3832e840e415dffad09c990ce8
BLAKE2b-256 e24e080bbc146a50f76dc1079c4581adc3c5bcea7ca89471d63b58f35f8d896e

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 1ec5f15e7577e6bfda344f66f56f0c451ae0b5054af5368ded0ff2d77232befb
MD5 acbee3d177cf67365607d00f37f4f159
BLAKE2b-256 705139cce0e9d011322c6ef665077b8a8521b91e08bc0b068e73578f72872cc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3428c96c4b6bb83ff72ef53da3bedaddb31f9aa7ba7c4a9ecdbc9a864968a97c
MD5 8f21ad51ffa4654822e64e059fdfd8e8
BLAKE2b-256 e986f881de984b4108ec84277b1f02a7e6cd77ad9a87c5246790067f2071665a

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98cca114915a5ec2de3c50be6b82d420696452b904c0bb8478af7cfc9ead3f4a
MD5 f07166738551c6daf2c129663ffb19b8
BLAKE2b-256 4174c0a2578d48acfd052e48471588bc8cd2ffaf6547eb51b62b0ee11eaaf893

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0fefff2aa7a001e438a371f0399e7a765365f0ca46df1d7bbc5b8d653fd72518
MD5 f9574b6c62790db71f9a6e5712f8be22
BLAKE2b-256 4bca22ad9bdac36087d5985feaacc262c165170686118950e4b97438cffc87a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2e73ff37aebf54c715c7942ffe4ffc03597560bb5798f990649fe6561adcca0c
MD5 f89321fe9432a0c753eb1935166b335f
BLAKE2b-256 05fa2bc6c015dfc07fc9fc0bb2f5be18752d654e01592dd2625ced814a3a83ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5220a038755109d23f14c67a1d31cb23dce0b1a7b7e8521abcb9c6c2fab371a
MD5 f5be04e121db4be6619175edc8fc9686
BLAKE2b-256 bd02069468b069bb1f277baed29da604cd62f6acd6628c19d24af09fb08a9878

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ed7c811d3ee034804604e698d859302475bcfda826e8f25b244acd6c842e96a5
MD5 d5f846ad2e425dddc737cc957f489435
BLAKE2b-256 d735d97fa7c1350cef484356219b6418ce22d43fa5bdf310565654fc3935d6e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3623b83bff26c39d675f666738ba2e3307c08286cfc89c514ac203a8fd45459c
MD5 848568d5f1882b659afb45882f68be2b
BLAKE2b-256 a4cd5acbe8ac46097208266c3611db63e6810cf7d1ce3a420149bd178d4ee53e

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc286ff381ef2b57cd5e366c7eb32f87b520f2c8dc2f5b036648c12d25b74a0e
MD5 7767e0d07ecfe72bc4bbf6dda05e27a8
BLAKE2b-256 c71411badb4d2c030d8db34e841f4987eb6b9b541c1c7f3c47172b813df9c27f

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 103ff1af72b24514bfb61e69f13ea582fc736527521908e408d8beb9f5d7afe5
MD5 da1a514915ed4270cb5d2214d64fc20a
BLAKE2b-256 e00ccd459559eb5f22b389d00864304edc6915b0113eaee76a1997a4e99e113f

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 01a1d09d4a74a38fc7bc0effc8a5122979d9cc0613d518f689dabd0ce42d2e60
MD5 7de65bdb146a1444d13950fb426a41cd
BLAKE2b-256 bf7ae7d34a89649aa8fd0fc1ae94bf0236a4cd948f068d506f9556133ed15ae2

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76acb4719b5a1e7190370e0dc67b9d7d29ce43ef78f2e02996c3539683dac219
MD5 b4ad4b1e0a28c2b068e704413cf585c8
BLAKE2b-256 673c0ec5ab4c0f457a0ec2e4d31a9db97cdd383d770eef3014261c392415a63c

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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.33-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libsonata-0.1.33-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fa0a4193e28c11b6c1487f7fdc1ceb30505513f871e7e3032416d08bc10874d5
MD5 1e227b73299f1edd01f7b2259b58c1c3
BLAKE2b-256 7294dab4b8f86af61a9773961baac3b2f24dc4d489206a994403e10469a0116d

See more details on using hashes here.

Provenance

The following attestation bundles were made for libsonata-0.1.33-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