Skip to main content

sc_neurocore_engine/bindings/channels/
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 — Ion-channel neuron PyO3 binding composition
8
9use pyo3::prelude::*;
10
11mod a_type_k_neuron;
12mod bk_neuron;
13mod ih_neuron;
14mod nmda_neuron;
15mod persistent_na_neuron;
16mod sk_neuron;
17mod t_type_ca_neuron;
18
19pub use a_type_k_neuron::PyATypeKNeuron;
20pub use bk_neuron::PyBKNeuron;
21pub use ih_neuron::PyIhNeuron;
22pub use nmda_neuron::PyNMDANeuron;
23pub use persistent_na_neuron::PyPersistentNaNeuron;
24pub use sk_neuron::PySKNeuron;
25pub use t_type_ca_neuron::PyTTypeCaNeuron;
26
27/// Register the seven model-owned ion-channel neuron classes in stable ABI order.
28pub(crate) fn register(module: &Bound<'_, PyModule>) -> PyResult<()> {
29    persistent_na_neuron::register(module)?;
30    ih_neuron::register(module)?;
31    t_type_ca_neuron::register(module)?;
32    a_type_k_neuron::register(module)?;
33    bk_neuron::register(module)?;
34    sk_neuron::register(module)?;
35    nmda_neuron::register(module)?;
36    Ok(())
37}