Skip to content

Commit

Permalink
Merge pull request #322 from esi-neuroscience/dev
Browse files Browse the repository at this point in the history
Dev merge
tensionhead authored Aug 2, 2022

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
2 parents 70f185a + 1bc910b commit 6e17c3a
Showing 80 changed files with 5,209 additions and 1,884 deletions.
17 changes: 11 additions & 6 deletions .github/workflows/cov_test_workflow.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Run tests and determine coverage
name: Run basic tests and determine coverage

on:
# Triggers the workflow on push or pull request events
@@ -22,20 +22,25 @@ jobs:
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install poetry
run: |
pip install poetry
- name: Install SyNCoPy
run: |
pip install -e .[dev]
poetry install
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
poetry run flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
poetry run flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest and get coverage
run: |
cd syncopy/tests
pytest --color=yes --tb=short --verbose --cov=../../syncopy --cov-config=../../.coveragerc --cov-report=xml
# run parallel tests only for base CR
poetry run pytest -k 'computationalroutine and parallel'
# don't run general parallel tests
poetry run pytest -k 'not parallel' --color=yes --tb=short --verbose --cov=../../syncopy --cov-config=../../.coveragerc --cov-report=xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
37 changes: 16 additions & 21 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -44,6 +44,8 @@ powerlinux:
- conda clean --all -y
- conda env update -f syncopy.yml --prune
- conda activate syncopy
# see https://github.com/conda/conda/issues/10178
- conda install ruamel.yaml
- tox -p 0

intelwin:
@@ -104,7 +106,7 @@ slurmtest:
- srun -p DEV --mem=8000m -c 4 pytest --full test_specest.py -k 'para'
- srun -p DEV --mem=8000m -c 4 pytest --full test_connectivity.py
- srun -p DEV --mem=8000m -c 4 pytest --full --ignore=test_specest.py --ignore=test_connectivity.py

pypitest:
stage: upload
only:
@@ -115,22 +117,18 @@ pypitest:
variables:
GIT_FETCH_EXTRA_FLAGS: --tags
script:
- rm -rf dist/
- source $HOME/miniconda/etc/profile.d/conda.sh
- conda update --yes conda
- conda clean --all -y
- conda env update -f syncopy.yml --prune
- conda activate syncopy
- conda install --yes twine keyring rfc3986
- conda update --yes twine keyring rfc3986
- rm -rf dist/ build/ esi_syncopy.egg-info/
- python setup.py sdist bdist_wheel
- tarname="$(basename -- $(ls dist/*.tar.gz) .tar.gz)"
- version=$(sed -e 's/esi-syncopy-\(.*\)/\1/' <<< "$tarname")
- twine upload --repository testpypi --config-file=~/.esipypirc dist/*
# get poetry with python 3.8
- conda activate spy38
- poetry build
# needs config pypi credentials on runner
- poetry publish -r testpypi
- sleep 300
- conda create --yes --name piptest python=3.8
- conda activate piptest
- conda install --yes pip
- version=$(grep 'version =' pyproject.toml | awk -F "\"" '{print $2}')
- pip --no-cache-dir install --extra-index-url https://test.pypi.org/simple esi-syncopy==$version
- python -c "import syncopy as spy"
- conda deactivate
@@ -146,13 +144,10 @@ pypideploy:
variables:
GIT_FETCH_EXTRA_FLAGS: --tags
script:
- rm -rf dist/
- source $HOME/miniconda/etc/profile.d/conda.sh
- conda update --yes conda
- conda clean --all -y
- conda env update -f syncopy.yml --prune
- conda activate syncopy
- conda install --yes twine keyring rfc3986
- conda update --yes twine keyring rfc3986
- rm -rf dist/ build/ esi_syncopy.egg-info/
- python setup.py sdist bdist_wheel
- twine upload --config-file=~/.esipypirc dist/*
# get poetry with python 3.8
- conda activate spy38
- poetry build
# needs config pypi credentials on runner
- poetry publish -r pypi
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -4,6 +4,31 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).



## [Unreleased]

### NEW
- Added down- and resampling algorithms for the new meta-function `resampledata`
- Added FOOOF method as a post-processing option for the freqanalysis method mtmfft.
- new global `spy.copy()` function which copies entire Syncopy objects on disk
- Added `.info` attribute for all data classes to store auxiliary meta information


### CHANGED
- the `out.cfg` attached to an analysis result now allows to replay all analysis methods
- `connectivityanalysis` now has FT compliant output support for the coherence
- `spy.cleanup` now has exposed `interactive` parameter
- removed keyword `deep` from `copy()`, all our copies are in fact deep
- demeaning after tapering for granger analysis

### FIXED
- `out.cfg` global side-effects (sorry again @kajal5888)
- `CrossSpectralData` plotting
- mixing of explicit keywords and `cfg` to control analysis
- fixed error on initializing SpikeData with empty ndarray (#257)


## [2022.05] - 2022-05-13
Bugfixes and features additions for `EventData` objects.

4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -37,5 +37,5 @@ keywords:
- spectral-methods
- brain
repository-code: https://github.com/esi-neuroscience/syncopy
version: 0.3.dev187
date-released: '2022-04-13'
version: 2022.6.dev203
date-released: '2022-07-21'
173 changes: 0 additions & 173 deletions conda2pip.py

This file was deleted.

25 changes: 15 additions & 10 deletions doc/source/README.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.. Syncopy documentation master file
.. title:: Syncopy Documentation

.. image:: _static/syncopy_logo.png
:alt: Syncopy logo
:height: 200px
@@ -11,14 +11,14 @@
Welcome to the Documentation of SyNCoPy!
========================================

SyNCoPy (**Sy**\stems **N**\euroscience **Co**\mputing in **Py**\thon, spelled Syncopy in the following)
is a Python toolkit for user-friendly, large-scale electrophysiology data analysis.
SyNCoPy (**Sy**\stems **N**\euroscience **Co**\mputing in **Py**\thon, spelled Syncopy in the following)
is a Python toolkit for user-friendly, large-scale electrophysiology data analysis.
We strive to achieve the following goals:

1. Syncopy provides a full *open source* Python environment for reproducible
electrophysiology data analysis.
2. Syncopy is *scalable* to accommodate *very large* datasets. It automatically
makes use of available computing resources and is developed with built-in
2. Syncopy is *scalable* to accommodate *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 the MATLAB toolbox `FieldTrip <http://www.fieldtriptoolbox.org/>`_.

@@ -27,15 +27,19 @@ Getting Started
- Prerequisites: :doc:`Install Syncopy </setup>`
- Jumping right in: :doc:`Quickstart Guide <quickstart/quickstart>`

Want to contribute or just curious how the sausage
is made? Take a look at our :doc:`Developer Guide <developer/developers>`.
Want to contribute or just curious how the sausage
is made? Take a look at our :doc:`Developer Guide <developer/developers>`.


In depth Guides and Tutorials
-----------------------------
* :doc:`Basic Concepts <user/concepts>`
* :doc:`Syncopy for FieldTrip Users <user/fieldtrip>`
* :doc:`Handling Data <user/data>`
* :doc:`Fooof <tutorials/fooof>`

Auto-generate API Docs
-----------------------
* :doc:`User API <user/user_api>`

Navigation
@@ -46,8 +50,8 @@ Navigation

Contact
-------
To report bugs or ask questions please use our `GitHub issue tracker <https://github.com/esi-neuroscience/syncopy/issues>`_.
For general inquiries please contact syncopy (at) esi-frankfurt.de.
To report bugs or ask questions please use our `GitHub issue tracker <https://github.com/esi-neuroscience/syncopy/issues>`_.
For general inquiries please contact syncopy (at) esi-frankfurt.de.

.. Any sections to be included in the Documentation dropdown menu have to be in the toctree
@@ -60,4 +64,5 @@ For general inquiries please contact syncopy (at) esi-frankfurt.de.
user/fieldtrip.rst
user/data.rst
user/user_api.rst
developer/developers.rst
tutorials/fooof.rst
developer/developers.rst
Binary file added doc/source/_static/fooof_out_aperiodic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/_static/fooof_out_first_try.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/_static/fooof_out_tuned.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/_static/fooof_signal_spectrum.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/_static/fooof_signal_time.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion doc/source/conf.py
Original file line number Diff line number Diff line change
@@ -96,7 +96,7 @@ def setup(app):
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
language = 'en'

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
Loading

0 comments on commit 6e17c3a

Please sign in to comment.