Welcome to SpikeInterface’s documentation!


Spikeinterface is a Python module designed to improve the accessibility, reliability, and reproducibility of spike sorting and all its associated computations.

With SpikeInterface, users can:

  • read/write many extracellular file formats.

  • pre-process extracellular recordings.

  • run many popular, semi-automatic spike sorters (also in Docker/Singularity containers).

  • post-process sorted datasets.

  • compare and benchmark spike sorting outputs.

  • compute quality metrics to validate and curate spike sorting outputs.

  • visualize recordings and spike sorting outputs.

  • export report and export to Phy.

  • offer a powerful Qt-based viewer in separate package spikeinterface-gui

  • have some powerful sorting components to build your own sorter.

Overview of SpikeInterface modules


Other resources

To get started with SpikeInterface, you can take a look at the following additional resources:

It includes links to videos to dive into the SpikeInterface framework.

of SpikeInterface-based papers and to showcase the latest features of SpikeInterface.

an in-depth comparison of multiple sorters (spolier alert: they strongly disagree between each other!). Note: the code-base and implementation have changed a lot since the “paper” version in published in 2020. For detailed documentation we therefore suggest more recent resources, like this documentation and spiketutorials.

Versions and compatibility

We released a major version of SpikeInterface (referred to as new API) in July 2021 (version>=0.90) which:

  • breaks backward compatibility with 0.10/0.11/0.12/0.13 series (old API)

  • is not a metapackage anymore

  • doesn’t depend on spikeextractors/spiketoolkit/spikesorters/spikecomparison/spikewidgets sub-packages

Please see the release notes here: SpikeInterface 0.90.0 release notes.

For other version release notes check the Release notes.

See the documentation for the version old API (version<=0.13) here.