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 sc_wb_nmda_magnesium_block;
17mod sk_neuron;
18mod t_type_ca_neuron;
19
20pub use a_type_k_neuron::PyATypeKNeuron;
21pub use bk_neuron::PyBKNeuron;
22pub use ih_neuron::PyIhNeuron;
23pub use nmda_neuron::PyNMDANeuron;
24pub use persistent_na_neuron::PyPersistentNaNeuron;
25pub use sc_wb_nmda_magnesium_block::PySCWBNMDAMagnesiumBlockNeuron;
26pub use sk_neuron::PySKNeuron;
27pub use t_type_ca_neuron::PyTTypeCaNeuron;
28
29/// Register the seven model-owned ion-channel neuron classes in stable ABI order.
30pub(crate) fn register(module: &Bound<'_, PyModule>) -> PyResult<()> {
31    persistent_na_neuron::register(module)?;
32    ih_neuron::register(module)?;
33    t_type_ca_neuron::register(module)?;
34    a_type_k_neuron::register(module)?;
35    bk_neuron::register(module)?;
36    sk_neuron::register(module)?;
37    nmda_neuron::register(module)?;
38    sc_wb_nmda_magnesium_block::register(module)?;
39    Ok(())
40}