Installation

spikeinterface is a Python package.

From PyPi

To install the current release version, you can use:

pip install spikeinterface[full]

The [full] option installs all the extra dependencies for all the different sub-modules.

Note that if using Z shell (zsh - the default shell on mac), you will need to use quotes (pip install "spikeinterface[full]").

To install all interactive widget backends, you can use:

pip install spikeinterface[full,widgets]

Note that the [widgets] option also installs jupyter (and relative dependencies).

If you wish to only install the core module, without optional dependencies, you can use:

pip install spikeinterface

From source

As spikeinterface is undergoing a heavy development phase, it is sometimes convenient to install from source to get the latest bug fixes and improvements. We recommend constructing the package within a [virtual environment](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/) to prevent potential conflicts with local dependencies.

git clone https://github.com/SpikeInterface/spikeinterface.git
cd spikeinterface
pip install -e .
cd ..

Note that this will install the package in [editable mode](https://pip.pypa.io/en/stable/topics/local-project-installs/#editable-installs).

It is also recommended in that case to also install neo and probeinterface from source, as spikeinterface strongly relies on these packages to interface with various formats and handle probes:

pip install git+https://github.com/NeuralEnsemble/python-neo.git
pip install git+https://github.com/SpikeInterface/probeinterface.git

It is also sometimes useful to have local copies of :code: neo and probeinterface to make changes to the code. To achieve this, repeat the first set of commands, replacing https://github.com/SpikeInterface/spikeinterface.git with the appropriate repository in the first code block of this section.

For beginners

We provide some installation tips for beginners in Python here:

https://github.com/SpikeInterface/spikeinterface/tree/master/installation_tips

Requirements

spikeinterface.core itself has only a few dependencies:

  • numpy

  • probeinterface

  • neo>=0.9.0

  • joblib

  • threadpoolctl

  • tqdm

Sub-modules have more dependencies, so you should also install:

  • zarr

  • scipy

  • pandas

  • xarray

  • sklearn

  • networkx

  • matplotlib

All external spike sorters can be either run inside containers (Docker or Singularity - see Running sorters in Docker/Singularity Containers) or must be installed independently (see Installing Spike Sorters).