Nengo is highly extensible and flexible.

You can define your own neuron types, learning rules, optimization methods, reusable subnetworks, and much more. You can also get input directly from hardware, build and run deep neural networks, drive robots, and even implement your model on a completely different neural simulator or neuromorphic hardware.