Overview
A laboratory for explicit circuits and inspectable evidence.
snnlab is a Python library for authoring, simulating, and visualising conductance-based spiking neural networks.
Three modules, one workflow
| Module | Responsibility | Main entry points |
|---|---|---|
snnlab.lang | Author and validate deterministic graph bundles | Network, compile, components, readouts |
snnlab.sim | Execute graphs and support surrogate-gradient training | ExecutionSpec, simulate, snnsim |
snnlab.viz | Compose diagrams, figures, and animations from retained evidence | Recording, Scene, render_diagram |
Start with installation, then run the small PING circuit. The scientific contracts explain units, timing, and the separation between a circuit and its execution protocol.
Current scope
The graph executor supports COBA-LIF and leaky-integrator populations, AMPA/GABA projections, recurrent and feedback connections, integer-timestep delays, and standard readout operations. It is not an arbitrary-equation simulator. Authoring a valid graph does not establish that every backend can execute it.
The CLI retains the legacy executor by default. Use --executor graph or ExecutionSpec(executor="graph", ...) when following the graph-native guides here.
Compatibility
The combined Python distribution starts at version 0.1.0. Persisted identifiers such as tools/snnsim and existing schema versions are scientific compatibility contracts, not import paths. Import through snnlab.
The guides introduce the current implementation. The API reference documents public exports and every declared public module interface in lang, sim, and viz. Scientific acceptance thresholds, dataset accuracy, and cross-device equivalence require experiment-specific evidence.