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 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
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
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.
For beginners¶
We provide some installation tips for beginners in Python here:
https://github.com/SpikeInterface/spikeinterface/tree/main/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
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 Running sorters in Docker/Singularity Containers) or must be installed independently (see Installing Spike Sorters).