Skip to main content

Digital signal processing for neural time series.

Project description

ProjectStatus Version BuildStatus Coverage License PythonVersions Publication

Tools to analyze and simulate neural time series, using digital signal processing.


Documentation for the NeuroDSP module is available here.

The documentation includes:

  • Tutorials: which describe and work through each module in NeuroDSP
  • Examples: demonstrating example applications and workflows
  • API List: which lists and describes all the code and functionality available in the module
  • Glossary: which defines all the key terms used in the module

If you have a question about using NeuroDSP that doesn’t seem to be covered by the documentation, feel free to open an issue and ask!


NeuroDSP is written in Python, and requires Python >= 3.5 to run.

It has the following dependencies:

Optional dependencies:

  • pytest is needed if you want to run the test suite locally

We recommend using the Anaconda distribution to manage these requirements.


The current major release of NeuroDSP is the 2.X.X series.

See the changelog for notes on major version releases.

Stable Release Version

To install the latest stable release, you can use pip:

$ pip install neurodsp

NeuroDSP can also be installed with conda, from the conda-forge channel:

$ conda install -c conda-forge neurodsp

Development Version

To get the current development version, first clone this repository:

$ git clone

To install this cloned copy, move into the directory you just cloned, and run:

$ pip install .

Editable Version

To install an editable version, download the development version as above, and run:

$ pip install -e .

Please use the Github issue tracker to file bug reports and/or ask questions about this project.


Available modules in NeuroDSP include:

  • filt : Filter data with bandpass, highpass, lowpass, or notch filters
  • burst : Detect bursting oscillations in neural signals
  • rhythm : Find and analyze rhythmic and recurrent patterns in time series
  • spectral : Compute spectral domain features such as power spectra
  • timefrequency : Estimate instantaneous measures of oscillatory activity
  • sim : Simulate time series, including periodic and aperiodic signal components
  • plts : Plotting functions


NeuroDSP welcomes and encourages contributions from the community!

If you have an idea of something to add to NeuroDSP, please start by opening an issue.

When writing code to add to NeuroDSP, please follow the Contribution Guidelines.

We also require that all contributors follow our Code of Conduct.


If you use this code in your project, please cite:

Cole, S., Donoghue, T., Gao, R., & Voytek, B. (2019). NeuroDSP: A package for
neural digital signal processing. Journal of Open Source Software, 4(36), 1272.
DOI: 10.21105/joss.01272

Direct Link:


    title = {NeuroDSP: A package for neural digital signal processing},
    author = {Cole, Scott and Donoghue, Thomas and Gao, Richard and Voytek, Bradley},
    journal = {Journal of Open Source Software},
    year = {2019},
    volume = {4},
    number = {36},
    issn = {2475-9066},
    url = {},
    doi = {10.21105/joss.01272},

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for neurodsp, version 2.1.0
Filename, size File type Python version Upload date Hashes
Filename, size neurodsp-2.1.0-py3-none-any.whl (88.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size neurodsp-2.1.0.tar.gz (59.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page