spikeinterface
is a Python package.
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 macOS), 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
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
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.
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 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.
We provide some installation tips for beginners in Python here:
https://github.com/SpikeInterface/spikeinterface/tree/main/installation_tips
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
- h5py
- scipy
- pandas
- xarray
- scikit-learn
- networkx
- matplotlib
- numba
- distinctipy
- cuda-python (for non-macOS users)
All external spike sorters can be either run inside containers (Docker or Singularity - see :ref:`containerizedsorters`) or must be installed independently (see :ref:`installsorters`).