snnlab

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

ModuleResponsibilityMain entry points
snnlab.langAuthor and validate deterministic graph bundlesNetwork, compile, components, readouts
snnlab.simExecute graphs and support surrogate-gradient trainingExecutionSpec, simulate, snnsim
snnlab.vizCompose diagrams, figures, and animations from retained evidenceRecording, 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.

On this page