Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Latest PyPI version Python versions

NengoSPA logo

Implementation of the Semantic Pointer Architecture for Nengo

The Semantic Pointer Architecture provides an approach to building cognitive models implemented with large-scale spiking neural networks.

Feature highlights

  • Write arbitrarily complex expressions with type checking involving neurally represented and static Semantic Pointers like dot((role * filler + BiasVector) * tag, cmp) >> target. NengoSPA will take care of implementing the required neural networks.
  • Quickly implement action selection systems based on a biological plausible model of the basal ganglia and thalamus.
  • Neural representations are optimized for representing Semantic Pointers.
  • Support for using different binding methods with algebras. NengoSPA ships with implementations of circular convolution (default) and vector-derived transformation binding (VTB), which is particularly suitable for deep structures. Different binding operations/algebras can be mixed in a single model.
  • Seamless integration with non-SPA Nengo models.

Project status

  • All of the core functionality is implemented and the API is stable.
  • While basic integration with the NengoGUI works, it should be improved in the future. However, this will not be pursued until major improvements to NengoGUI are released.


NengoSPA depends on Nengo 2.7+, and we recommend that you install Nengo before installing NengoSPA.

To install NengoSPA:

pip install nengo-spa

NengoSPA is tested to work on Python 3.6+.

If you need support for Python 2.7 or 3.4, NengoSPA 0.6.2 is the last version with support for these earlier Python versions.


The documentation can be found here.

Getting Help

Questions relating to Nengo and NengoSPA, whether it's use or it's development, should be asked on the Nengo forum at