Getting started


To install Nengo SPA, we recommend using pip:

pip install nengo-spa

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

Nengo SPA 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 Nengo SPA 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 Nengo SPA 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 Nengo SPA 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 Nengo SPA functionality in your models use nengo_spa.Network instead of nengo.Network. A basic Nengo SPA 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