Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update from master #95

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
5e95f77
Replaced custom TestSuite runner with unittest.main() (#403)
rjurkus Feb 12, 2021
68b3243
BinnedSpikeTrain optional CSC format (#402)
dizcza Feb 24, 2021
e56b1ac
PyCUDA and PyOpenCL backends for ASSET joint prob. matrix calculation…
dizcza Feb 25, 2021
caf4a46
Improved documentation: BibTex citations and structure by categories …
dizcza Mar 4, 2021
165276f
Release 0.10.0 (#407)
dizcza Mar 4, 2021
c461884
[Enhancement] Change test framework from Nose to pytest (#413)
kohlerca May 13, 2021
d407863
Changed __repr__ in BinnedSpikeTrain to support quantities<0.12.4 (#418)
kohlerca May 21, 2021
6479381
[Enhancement] Set complexity dtypes for memory efficiency (#412)
morales-gregorio Jun 7, 2021
8c388e4
Optimized SPADE analysis and SPADE tutorial (#419)
mdenker Aug 13, 2021
00f0cd3
Fixing doc builds (#429)
mdenker Aug 14, 2021
3520ac2
Fixed random seed selection to use numpy (#430)
mdenker Aug 14, 2021
f5c3e15
Fix proposed by #420. (#421)
mdenker Sep 6, 2021
6d7dbc7
Updated the copyright year in README.md to 2021 (#433)
rjurkus Oct 11, 2021
b637b2c
Various Features Spike Train Generation (#416)
pbouss Oct 11, 2021
8fd05f6
BUG-Fix #424: t_start information was lost while transposing lfp (#432)
ojoenlanuca Nov 23, 2021
b53be3e
Fixed test suite building for multiple modules (#426)
rjurkus Dec 7, 2021
0c54079
Fix for figures in the Granger causality tutorial (#434)
rjurkus Dec 7, 2021
cfdecd8
Updated zscore for in-place operations (#440)
kohlerca Dec 17, 2021
784fb8d
Added missing rescaling of t_start and t_stop to the units of spiketr…
PaulinaDabrowska Jan 10, 2022
db25034
Updated spade tutorial to work with viziphant 0.2.0 (#88) (#444)
Moritz-Alexander-Kern Feb 9, 2022
a5cd9c6
Add zenodo badge to README.md (#445)
Moritz-Alexander-Kern Feb 9, 2022
9caa5bf
Fix pytest (#449)
Moritz-Alexander-Kern Feb 9, 2022
d0d3920
Feature/multitaper psd estimate (#417)
rjurkus Feb 10, 2022
8a284ad
Revert "Feature/multitaper psd estimate (#417)" (#457)
Moritz-Alexander-Kern Feb 23, 2022
b263ffe
Feature/multitaper psd estimate (#458)
Moritz-Alexander-Kern Feb 25, 2022
0074a14
Add a function to discretise spiketimes (#454)
Kleinjohann Mar 8, 2022
5be9d7f
Support SpikeTrainList object and deprecate RecordingChannel in Eleph…
mdenker Mar 14, 2022
854a5ca
Fixes neo_tools unit tests to work with Neo 0.10.0+ (#446)
mdenker Mar 14, 2022
67dd3f3
Feature: CI with GitHub actions (#451)
Moritz-Alexander-Kern Mar 14, 2022
91c0b1f
Enh/add zenodo json (#459)
Moritz-Alexander-Kern Mar 25, 2022
392933a
Enh/add dois to documentation (#456)
Moritz-Alexander-Kern Mar 25, 2022
4979f25
Boundary correction rate for firing rate estimator with Gaussian KDE …
pbouss Mar 25, 2022
e97479b
Neo v0.10.0, remove support for python 3.6 (#460)
Moritz-Alexander-Kern Mar 25, 2022
7a6d3f2
Fix/update tutorials asset and unitary_event_analysis to use nixio 1.…
Moritz-Alexander-Kern Mar 28, 2022
dc893be
Enh/elephant data versioning (#463)
Moritz-Alexander-Kern Mar 30, 2022
eb6278b
Fix/instantaneous rate (#453)
Moritz-Alexander-Kern Mar 30, 2022
72030b7
This is housekeeping in preparation of a release 0.11.0 (#452)
Moritz-Alexander-Kern Mar 30, 2022
d7ee38e
included files for spade (#466)
Moritz-Alexander-Kern Mar 30, 2022
5a26a8a
Improvement of Spike Time Tiling Coefficient (STTC) (#438)
Moritz-Alexander-Kern Mar 31, 2022
59111ca
bumped version number after release of v0.11.0 (#467)
Moritz-Alexander-Kern Apr 1, 2022
23d0680
remove version cap for scipy (#473)
Moritz-Alexander-Kern Apr 14, 2022
ee5c190
disable mac installs for now in setup.py (#472)
Moritz-Alexander-Kern Apr 14, 2022
bbab368
added example to docstring, removed reference to annotations (#468)
Moritz-Alexander-Kern Apr 14, 2022
d045dbd
Fix/asset on mac os, add CI workflow for macOS (#474)
Moritz-Alexander-Kern Apr 14, 2022
378bc59
Release 0.11.1 (#475)
Moritz-Alexander-Kern Apr 14, 2022
6928e3b
Bump version number after release 0.11.1 (#476)
Moritz-Alexander-Kern Apr 21, 2022
7f2a01c
fix headings for release notes, elephant versions > 0.10.0 (#477)
Moritz-Alexander-Kern Apr 21, 2022
7034d9b
Fix/spike train dissimilarity (#482)
kloss-o Apr 27, 2022
6ed3cb3
Fixed MANIFEST.in to include CUDA/OpenCL sources when installing (#483)
kohlerca Apr 28, 2022
0df4581
fix Issue #481, ASSET tries to use a backend that is not present in t…
Moritz-Alexander-Kern May 20, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
370 changes: 370 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,370 @@
# This workflow will setup GitHub-hosted runners and install the required dependencies for elephant tests.
# On a pull requests and on pushes to master it will run different tests for elephant.

name: tests
# define events that trigger workflow 'tests'
on:
workflow_dispatch: # enables manual triggering of workflow
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
type: choice
options:
- info
- warning
- debug
pull_request:
branches:
- master
types:
#- assigned
#- unassigned
- labeled
#- unlabeled
- opened
#- edited
#- closed
#- reopened
#- synchronize
#- converted_to_draft
#- ready_for_review
#- locked
#- unlocked
#- review_requested
#- review_request_removed
#- auto_merge_enabled
#- auto_merge_disabled
push:
branches:
- master

# jobs define the steps that will be executed on the runner
jobs:
# install dependencies and elephant with pip and run tests with pytest
build-and-test-pip:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# python versions for elephant: [3.7, 3.8, 3.9, "3.10"]
python-version: [3.7, 3.8, 3.9, "3.10"]

# OS [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-latest]

# do not cancel all in-progress jobs if any matrix job fails
fail-fast: false

steps:
# used to reset cache every month
- name: Get current year-month
id: date
run: echo "::set-output name=date::$(date +'%Y-%m')"
- uses: actions/checkout@v2

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

- name: Cache test_env
uses: actions/cache@v2
with:
path: ~/test_env
# Look to see if there is a cache hit for the corresponding requirements files
# cache will be reset on changes to any requirements or every month
key: ${{ runner.os }}-venv-${{ hashFiles('**/requirements.txt') }}-${{ hashFiles('**/requirements-tests.txt') }}
-${{ hashFiles('**/requirements-extras.txt') }}-${{ hashFiles('setup.py') }} -${{ steps.date.outputs.date }}

- name: Install dependencies
run: |
# create an environment and install everything
python -m venv ~/test_env
source ~/test_env/bin/activate

python -m pip install --upgrade pip
pip install -r requirements/requirements-tests.txt
pip install -r requirements/requirements.txt
pip install -r requirements/requirements-extras.txt
pip install pytest-cov coveralls
pip install -e .

- name: Build
run: |
source ~/test_env/bin/activate
python setup.py install

- name: List packages
run: |
source ~/test_env/bin/activate
pip list
python --version

- name: Test with pytest
run: |
source ~/test_env/bin/activate
pytest --cov=elephant

test-macOS:
name: conda (${{ matrix.python-version }}, ${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
# do not cancel all in-progress jobs if any matrix job fails
fail-fast: false
matrix:
# OS [ubuntu-latest, macos-latest, windows-latest]
os: [macos-10.15,macos-latest]
python-version: [3.9]
steps:
- name: Get current year-month
id: date
run: echo "::set-output name=date::$(date +'%Y-%m')"

- uses: actions/checkout@v2

- name: Cache conda
uses: actions/cache@v2
with:
path: ~/conda_pkgs_dir
key: ${{ runner.os }}-conda-${{hashFiles('requirements/environment.yml') }}-${{ steps.date.outputs.date }}

- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
activate-environment: elephant
environment-file: requirements/environment-tests.yml
auto-activate-base: false
use-only-tar-bz2: true # IMPORTANT: This needs to be set for caching to work properly!

- name: Install dependencies
shell: bash -l {0}
run: |
python --version
conda env list
conda install pytest
conda install pytest-cov coveralls
pip install -e .[extras]

- name: List packages
shell: bash -l {0}
run: |
pip list
conda list
python --version

- name: Test with pytest
shell: bash -l {0}
run: |
pytest --cov=elephant

# install dependencies with pip and run tests with pytest
test-pip:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# python versions for elephant: [3.6, 3.7, 3.8, 3.9]
python-version: [3.8,]
# OS [ubuntu-latest, macos-latest, windows-latest]
os: [windows-latest]
include:
# - os: ubuntu-latest
# path: ~/.cache/pip
# - os: macos-latest
# path: ~/Library/Caches/pip
- os: windows-latest
path: ~\AppData\Local\pip\Cache
# do not cancel all in-progress jobs if any matrix job fails
fail-fast: false

steps:
- name: Get current year-month
id: date
run: echo "::set-output name=date::$(date +'%Y-%m')"

- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

- name: Cache pip
uses: actions/cache@v2
with:
path: ${{ matrix.path }}
# Look to see if there is a cache hit for the corresponding requirements files
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ hashFiles('**/requirements-tests.txt') }}
-${{ hashFiles('**/requirements-extras.txt') }}-${{ hashFiles('setup.py') }} -${{ steps.date.outputs.date }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements/requirements-tests.txt
pip install -r requirements/requirements.txt
pip install -r requirements/requirements-extras.txt
pip install pytest-cov coveralls
pip install -e .

- name: List packages
run: |
pip list
python --version

- name: Test with pytest
run: |
pytest --cov=elephant

# install dependencies and elephant with pip and run MPI
test-pip-MPI:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# python versions for elephant: [3.6, 3.7, 3.8, 3.9]
python-version: [3.9]

# OS [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-latest]

# do not cancel all in-progress jobs if any matrix job fails
fail-fast: false

steps:
- name: Get current year-month
id: date
run: echo "::set-output name=date::$(date +'%Y-%m')"
- uses: actions/checkout@v2

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

- name: Cache test_env
uses: actions/cache@v2
with:
path: ~/.cache/pip
# Look to see if there is a cache hit for the corresponding requirements files
# cache will be reset on changes to any requirements or every month
key: ${{ runner.os }}-venv-${{ hashFiles('**/requirements.txt') }}-${{ hashFiles('**/requirements-tests.txt') }}
-${{ hashFiles('**/requirements-extras.txt') }}-${{ hashFiles('setup.py') }} -${{ steps.date.outputs.date }}

- name: Setup enviroment
run: |
sudo apt install -y libopenmpi-dev openmpi-bin

python -m pip install --upgrade pip
pip install mpi4py
pip install -r requirements/requirements-tests.txt
pip install -r requirements/requirements.txt
pip install -r requirements/requirements-extras.txt
pip install pytest-cov coveralls
pip install -e .

- name: List packages
run: |
pip list
python --version

- name: Test with pytest
run: |
mpiexec -n 1 python -m mpi4py -m pytest --cov=elephant

# install dependencies with conda and run tests with pytest
test-conda:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# OS [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-latest]

# do not cancel all in-progress jobs if any matrix job fails
fail-fast: false

steps:
- uses: actions/checkout@v2

- name: Cache pip
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{hashFiles('requirements/environment-tests.yml') }}-${{ steps.date.outputs.date }}

- name: Add conda to system path
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
echo $CONDA/bin >> $GITHUB_PATH
- name: Install dependencies
run: |
conda update conda
conda env update --file requirements/environment-tests.yml --name base
activate base
conda install -c conda-forge openmpi
pip install -r requirements/requirements-tests.txt
pip install pytest
pip install pytest-cov coveralls
pip install .
- name: List packages
run: |
activate base
pip list
conda list
python --version
- name: Test with pytest
run: |
activate base
pytest --cov=elephant --import-mode=importlib

# install dependencies for the documentation and build .html
docs:
name: docs (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
# OS [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-latest]

steps:

- name: Get current year-month
id: date
run: echo "::set-output name=date::$(date +'%Y-%m')"

- uses: actions/checkout@v2

- name: Add conda to system path
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
echo $CONDA/bin >> $GITHUB_PATH

- name: Cache pip
uses: actions/cache@v2
with:
path: ~/.cache/pip
# Look to see if there is a cache hit for the corresponding requirements files
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements-docs.txt') }}-${{ hashFiles('**/requirements-tutorials.txt') }}-${{ hashFiles('**/environment-docs.yml') }}-${{ steps.date.outputs.date }}

- name: Install dependencies
run: |
sudo apt install -y libopenmpi-dev openmpi-bin
python -m pip install --upgrade pip
pip install -r requirements/requirements-docs.txt
pip install -r requirements/requirements-tutorials.txt
conda update conda
conda env update --file requirements/environment-docs.yml --name base
conda install -c conda-forge openmpi
conda install -c conda-forge pandoc
pip install -e .[extras]
# run notebooks
sed -i -E "s/nbsphinx_execute *=.*/nbsphinx_execute = 'always'/g" doc/conf.py

- name: List packages
run: |
pip list
conda list
python --version

- name: make html
run: |
cd doc
make html
Loading