Skip to content

Systems Neuroscience Computing in Python: user-friendly analysis of large-scale electrophysiology data

License

Notifications You must be signed in to change notification settings

esi-neuroscience/syncopy

Repository files navigation

Syncopy-Logo

Systems Neuroscience Computing in Python

Conda Version PyPI version License DOI

Master Tests Master Coverage

Syncopy aims to be a user-friendly toolkit for large-scale electrophysiology data-analysis in Python. We strive to achieve the following goals:

  1. Syncopy is a fully open source Python environment for electrophysiology data analysis.
  2. Syncopy is scalable and built for very large datasets. It automatically makes use of available computing resources and is developed with built-in parallelism in mind.
  3. Syncopy is compatible with FieldTrip. Data and results can be loaded into MATLAB and Python, and parameter names and function call syntax are as similar as possible.

Syncopy is developed at the Ernst Strüngmann Institute (ESI) gGmbH for Neuroscience in Cooperation with Max Planck Society and released free of charge under the BSD 3-Clause "New" or "Revised" License.

News

  • 2024-04, Pre-print on Syncopy available. A pre-print paper on Syncopy is now available here on arxiv, with DOI 10.1101/2024.04.15.589590. Please cite this pre-print if you use Syncopy. In APA style, the citation is: Mönke, G., Schäfer, T., Parto-Dezfouli, M., Kajal, D. S., Fürtinger, S., Schmiedt, J. T., & Fries, P. (2024). Systems Neuroscience Computing in Python (SyNCoPy): A Python Package for Large-scale Analysis of Electrophysiological Data. bioRxiv, 2024-04.

Contact

To report bugs or ask questions please use our GitHub issue tracker. For general inquiries please contact syncopy (at) esi-frankfurt.de.

Installation

We recommend to install SynCoPy into a new conda environment:

  1. Install the Anaconda Distribution for your Operating System if you do not yet have it.
  2. Start a new terminal.
    • You can do this by starting `Anaconda navigator`, selecting `Environments` in the left tab, selecting the `base (root)` environment, and clicking the green play button and then `Open Terminal`.
    • Alternatively, under Linux, you can just type `bash` in your active terminal to start a new session.

You should see a terminal with a command prompt that starts with `(base)`, indicating that you are in the conda `base` environment.

Now we create a new environment named `syncopy` and install syncopy into this environment:

conda create -y --name syncopy
conda activate syncopy
conda install -y -c conda-forge esi-syncopy

Getting Started

Please visit our online documentation.

Developer Installation

To get the latest development version, please clone our GitHub repository and change to the dev branch. We highly recommend to install into a new conda virtual environment, so that this development version does not interfere with your existing installation.

git clone https://github.com/esi-neuroscience/syncopy.git
cd syncopy/
conda env create --name syncopy-dev --file syncopy.yml
conda activate syncopy-dev
pip install -e .

We recommend to verify your development installation by running the unit tests. You can skip the parallel tests to save some time, the tests should run in about 5 minutes then:

python -m pytest -k "not parallel"

You now have a verified developer installation of Syncopy. Please refert to our contributing guide if you want to contribute to Syncopy.