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).