Getting started


To install NengoSPA, we recommend using pip:

pip install nengo-spa

pip will do its best to install all of Nengo’s requirements when it installs NengoSPA. However, if anything goes wrong during this process, you can install NengoSPA’s requirements manually before doing pip install nengo-spa again.

NengoSPA only depends on core Nengo (which depends on NumPy). Please check the Nengo documentation for instructions on how to install Nengo or NumPy.

We also suggest that you install SciPy to obtain the best accuracy in your networks and access to all NengoSPA features. We recommend installing SciPy with the same method that you used to install NumPy. Check the Nengo documentation and SciPy documentation for available installation methods.

Further optional packages

Besides optional SciPy package, there are a few more optional packages that are only required for specific purposes.

pip install nengo-spa[docs]  # For building docs
pip install nengo-spa[tests]  # For running the test suite
pip install nengo-spa[all]  # All of the above, including SciPy


Examples of NengoSPA usage are included in this documentation. Each example has a link to download it as Jupyter notebook at the top of its page.


The recommended way to use NengoSPA is to import nengo_spa as spa. (Note that this uses an underscore in the module name and is different from which refers to the legacy SPA module shipped with core Nengo.)

To use NengoSPA functionality in your models use nengo_spa.Network instead of nengo.Network. A basic NengoSPA model can look like this:

import nengo
import nengo_spa as spa

with spa.Network() as model:
    state = spa.State(16)
    spa.sym.A >> state

Next steps