Nuro SDKLive · v0.8

Train on GPU. Deploy to silicon.

An open-source Python SDK (Apache 2.0) for spiking neural networks. One API compiles to GPU, Intel Loihi 2, SpiNNaker 2, BrainChip Akida, or Vantar Cloud — with zero code changes.

5

Backends

GPU, Loihi, SpiNNaker, Akida, Cloud

4

Neuron models

LIF, IF, Izhikevich, AdEx

227

Tests passing

Full stack coverage

0

Lines to change

when switching backends

Quick start

Define once. Only the compile target changes.

Python
import torch, nuro

# Define your spiking network — this never changes
sensory = nuro.Population(size=100, dynamics="lif", params={"tau": 20e-3})
cortex  = nuro.Population(size=50,  dynamics="izhikevich", params={"preset": "fast_spiking"})
motor   = nuro.Population(size=10,  dynamics="lif", params={"tau": 10e-3})

graph = nuro.Graph([sensory, cortex, motor], [
    nuro.Connection(sensory, cortex, pattern="dense", delay=1e-3),
    nuro.Connection(cortex,  motor,  pattern="dense"),
])

# Train on GPU with surrogate gradients
model = nuro.compile(graph, target="gpu", requires_grad=True)

# Deploy to neuromorphic hardware — zero code changes
model = nuro.compile(graph, target="loihi")       # Intel Loihi 2
model = nuro.compile(graph, target="spinnaker2")   # SpiNNaker 2
model = nuro.compile(graph, target="akida")        # BrainChip Akida

Install

pip install nuro[gpu]

Python 3.10+ · PyTorch 2.0+

License

Apache 2.0

Free to use and modify

Interop

NIR · ANN-to-SNN

SpikingJelly, Norse, snnTorch

What makes it different

Other frameworks solve one piece. Nuro solves the pipeline.

One API, any backend

Define your network once with populations, connections, and inputs. Nuro's IR is the boundary — backends never touch your Python objects. Change one argument to switch hardware.

Surrogate gradients built in

Set requires_grad=True and train with backprop-through-time. ATan, sigmoid, and triangular surrogates included. Standard PyTorch optimizers work unmodified.

NIR interop

Import models from SpikingJelly, Norse, snnTorch, or any NIR-compatible framework via nuro.from_nir(). Export with nuro.to_nir(). Full ecosystem interoperability.

ANN-to-SNN conversion

Convert trained PyTorch models to spiking networks. nuro.convert_ann() walks your nn.Module, maps layers to IF populations, folds BatchNorm, and auto-quantizes for hardware.

Auto-quantization

Compiling to Loihi, SpiNNaker 2, or Akida quantizes weights to match hardware precision automatically. QAT support for quantization-aware training.

Synaptic delays

Connection(delay=1e-3) adds realistic spike-propagation delays. Ring-buffer on GPU, native hardware support on Loihi and SpiNNaker.

Batch simulation

Run 32–128 networks in parallel on GPU — 10–50× throughput vs sequential. Critical when single-sample simulation is the training bottleneck.

Neuromorphic datasets

Built-in loaders for N-MNIST, DVS-CIFAR10, and DVS Gesture. Event streams convert to spike tensors ready for nuro.Input(). No preprocessing code.

Backends

One IRGraph, five compile targets.

target="gpu"Stable

Development workbench. Surrogate gradients, batch training, BPTT.

PyTorch + SpikingJelly · any CUDA GPU · v0.1+

target="loihi"Stable

Nuro compiles to Lava — you never write Lava directly. On-chip STDP supported.

lava-nc (Intel) · Loihi 2 sim or INRC · v0.5+

target="spinnaker2"Stable

Full SpiNNaker 2 support. Sim works out of the box.

py-spinnaker2 + Brian2 · SpiNNcloud · v0.6+

target="akida"Stable

Most commercially deployed neuromorphic chip. 1–8 bit quantization.

BrainChip MetaTF · AKD1000/1500 · v0.7+

target="cloud"Beta

No hardware required. Submit an IRGraph, get results back.

Vantar Cloud API · Loihi 2 or SpiNNaker 2 · v0.8

NeuroCopilot

Describe the task. Get deployable Nuro code.

Fine-tuned on Qwen2.5-Coder-7B. Runs locally via Ollama — no internet required. Open weights, Apache 2.0.

Python
import nuro

code = nuro.copilot.ask(
    "Build a recurrent SNN with Izhikevich neurons "
    "for pattern recognition on SpiNNaker2"
)
print(code)   # → complete, deployable Nuro Python
View on HuggingFace →

Neuron models

Simple baselines to biological detail.

LIF

Leaky Integrate-and-Fire

Standard workhorse. Exponential membrane decay, threshold firing. Fast to simulate, well-understood.

IF

Integrate-and-Fire

No leak term. Accumulates input indefinitely. Simple baseline for benchmarks.

Izhikevich

Izhikevich (5 presets)

Biologically rich. Presets: regular_spiking, intrinsically_bursting, chattering, fast_spiking, low_threshold_spiking.

AdEx

Adaptive Exponential LIF

Exponential spike initiation plus adaptation current. Closest to biological cortical neurons.

Open source.
No signup required.

Install Nuro and train SNNs on GPU today. Join the waitlist for early access to hardware backends and Vantar Cloud.