Skip to main content

sc_neurocore_engine/bindings/interneurons/
mod.rs

1// SPDX-License-Identifier: AGPL-3.0-or-later
2// Commercial license available
3// © Concepts 1996–2026 Miroslav Šotek. All rights reserved.
4// © Code 2020–2026 Miroslav Šotek. All rights reserved.
5// ORCID: 0009-0009-3560-0851
6// Contact: www.anulum.li | protoscience@anulum.li
7// SC-NeuroCore — Interneuron PyO3 binding composition
8
9use pyo3::prelude::*;
10
11mod cerebellar_basket_neuron;
12mod chandelier_neuron;
13mod martinotti_neuron;
14mod pv_fast_spiking_neuron;
15mod sst_neuron;
16mod vip_neuron;
17
18pub use cerebellar_basket_neuron::PyCerebellarBasketNeuron;
19pub use chandelier_neuron::PyChandelierNeuron;
20pub use martinotti_neuron::PyMartinottiNeuron;
21pub use pv_fast_spiking_neuron::PyPVFastSpikingNeuron;
22pub use sst_neuron::PySSTNeuron;
23pub use vip_neuron::PyVIPNeuron;
24
25/// Register the six model-owned interneuron classes in stable ABI order.
26pub(crate) fn register(module: &Bound<'_, PyModule>) -> PyResult<()> {
27    pv_fast_spiking_neuron::register(module)?;
28    sst_neuron::register(module)?;
29    vip_neuron::register(module)?;
30    chandelier_neuron::register(module)?;
31    cerebellar_basket_neuron::register(module)?;
32    martinotti_neuron::register(module)?;
33    Ok(())
34}