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

ci: fix broken CI #167

Merged
merged 20 commits into from
Mar 25, 2022
Merged

ci: fix broken CI #167

merged 20 commits into from
Mar 25, 2022

Conversation

ErikBjare
Copy link
Collaborator

@ErikBjare ErikBjare commented Mar 25, 2022

@JohnGriffiths please be more careful next time, heh: 3efcb15

TODO

  • Update instructions
  • ...?

Changes

  • Updated psychopy
  • Updated minimum Python to 3.8
    • Required because psychopy now depends on tobii-research (another psychopy dep we wont use, sigh...) which is Python>=3.8
  • Updated seaborn to latest
    • Replaced use of removed tsplot with custom function
  • Fixed some examples

@JohnGriffiths please be more careful next time, heh: 3efcb15
@ErikBjare
Copy link
Collaborator Author

And @JohnGriffiths why is psychtoolbox even needed? Why is it not in the requirements file? What does the JG_ADD comment mean?

@ErikBjare
Copy link
Collaborator Author

ErikBjare commented Mar 25, 2022

Ah, I assume psychtoolbox was to fix https://discourse.psychopy.org/t/missing-sound-libraries-for-psychopy3-standalone-release-3-2-3-for-win32/9162

However, it was already installed, so it had no effect. Added pygame instead.

Edit: adding pygame also had no effect.

@ErikBjare
Copy link
Collaborator Author

I'd also like to note that the dependency hell that caused this would have been handled by poetry, were we to use it.

@ErikBjare
Copy link
Collaborator Author

ErikBjare commented Mar 25, 2022

Alright, so this PR got a bit messier than first thought. Looks like a bunch of issues arising from having a >2yr old version of psychopy... Hoping psychopy has decent backwards compatibility.

@ErikBjare
Copy link
Collaborator Author

Ugh, apparently psychopy now depends on tobii-research, which is only available for Python 3.8+

Python 3.7 is EOL in ~1 year anyway, might be time to bump it.

@ErikBjare
Copy link
Collaborator Author

Now only macOS is failing, needs something like bambocher/pocketsphinx-python#71

@ErikBjare
Copy link
Collaborator Author

Fixed seaborn>=0.11 compatibility (which dropped tsplot).

Building docs is still failing, but I don't think that's related to the changes.

@ErikBjare
Copy link
Collaborator Author

ErikBjare commented Mar 25, 2022

@JohnGriffiths This PR should now be an overall major improvement, but still some minor stuff needed (fix building docs & building on macOS). That'll have to wait for another PR though.

There may still be bugs or more testing needed, esp with the updated versions of stuff, but it's not sustainable to stay on the old versions anyway (as that'll lead to its own problems) so better get this out of the way.

@ErikBjare
Copy link
Collaborator Author

Merging.

@JohnGriffiths
Copy link
Collaborator

JohnGriffiths commented Mar 27, 2022

Thanks for doing the work on this @ErikBjare . Timing is not great though as we have just launched NTCS this week with e-mail out to thousands of of openbci users and this merge has broken installation.

@JohnGriffiths
Copy link
Collaborator

Our Installation instructions currently say to use py37 and install wxpython.

conda create -n "eeg-notebooks" python=3.7 git pip wxpython
conda activate "eeg-notebooks"
git clone https://github.com/NeuroTechX/eeg-notebooks
cd eeg-notebooks
pip install -e .

I am troubleshooting this now but definitely just switching to python=3.8 doesn't work as there's no wxpython for py37.

Trying to recall now why we settled on that wxpython instruction (was definitely an interim fix). We did go round the houses between py37, py38, and py39 last time we tackled this and settled on 3.7.

@JohnGriffiths
Copy link
Collaborator

Also important = any installation instruction updates need to be reflected in the docs instructions, and currently we have a build failure in the docs, so can't actually change the documentation instructions.

I have tried several times to resolve this problem but haven't been able to yet. The doc build seems to work fine on all local machines I've tried so a bit stumped.

@JohnGriffiths
Copy link
Collaborator

install with py38 is failing on two out of two windows machines for me now. have you tested this? are there extra install instructions?

might need to revert this PR.

@oreHGA @JadinTredup if you got a mo to check on this would be great as is pretty time critical.

@ErikBjare
Copy link
Collaborator Author

ErikBjare commented Mar 27, 2022

I'll jump on it

Sorry about the NTCS launch, did not see the announcement until later!

We can always create a revert commit and merge it back later.

@ErikBjare
Copy link
Collaborator Author

There are wxPython wheels for Python 3.8 here, as detailed in requirements.txt: https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04/

@ErikBjare
Copy link
Collaborator Author

@JohnGriffiths I have a revert for this ready to go, just give me the word!

@JohnGriffiths
Copy link
Collaborator

JohnGriffiths commented Mar 27, 2022 via email

ErikBjare added a commit to ErikBjare/eeg-notebooks that referenced this pull request Mar 27, 2022
This reverts commit 6e7a59f, reversing
changes made to 60482df.
ErikBjare added a commit that referenced this pull request Mar 27, 2022
ErikBjare added a commit to ErikBjare/eeg-notebooks that referenced this pull request Mar 27, 2022
oreHGA added a commit that referenced this pull request Apr 27, 2023
* Revert "Revert PR #167: "ci: fix broken CI" (#169)"

This reverts commit 2d74871.

* Update Makefile

* fix: Update vep.py import

* Update Makefile

* Update vep.py

* fix: typo in makefile

* fix: update BaseExperiment class reference

* Update Makefile

* Update vep.py

* Update 01r__n170_viz.py

* makefile: install libnotify4

---------

Co-authored-by: Ore O <oreogundipe@gmail.com>
JohnGriffiths added a commit that referenced this pull request Jun 21, 2024
* example test commit (#182)

* example test commit

* example edit

* ci: run test workflow on develop branch

* ci: add develop branch to job triggers

* ci: fix syntax issue in workflow

* fix: fixed import (brainflow updated API)

* build(deps): locked pylsl==1.10.5 (#187)

* Experiment Class Refactor (update to #183), converting specific experiments to subclasses (#184)

* First commit

* Second commit

* Modifications

* Lol

* Lol

* Incorporated N170 and p300, looking good for a PR

* ssvep update

* Implementing subclasses instead of loose functions

* fix: fixed import (brainflow updated API)

* Playing around still

* Fixing import errors

* Adding abstractmethod decorators

* Still working on the import error

* Guess what's finally working

* Comments and naming ticks

* More comments

* Live coding demonstration

* ssvep adapted

* Adapting Auditory Oddball

* changing save_fn to self.save_fun

* This maybe the last big change

* utils file changed, changes work through cli

Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>

* Submodule added for gsoc

* Adding pipelines for cli analysis (#202)

* started pipelines function

* almost working simple function equivalents of nb scripts

* fix: fixed import (brainflow updated API)

* sqc fixes for unicorn (#176)

* Ignore pushes

* Trying to create a cli

* Stepping through the problem

* First commit

* Fixing pause in signal quality check

* Fixing Signal quality check problem

* fix the technical debt

* Save path done for automated saving pdf

* I feel amazing

* Almost through

* Update eegnb/cli/__main__.py

Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>

* Trying to create cli but it's being really painful

* Extra word cli error

* Changed example handling

* Pain

* Adding whole datapath

* Finally fixed cli

* hmm

* Looking good

* added hyperlink

* Having some issues with detecting css and image deltetion

* Just the css now

* Fixed the css linking problem though it's a weird soln

* Automated running, still fnames problem

* Hahahah embedded images in html

* Improving code

* Okay now

* Look at that

* Almost there just the two figures now

* Now

* Added attrdict to do with cli error

Co-authored-by: John Griffiths <j.davidgriffiths@gmail.com>
Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>
Co-authored-by: John Griffiths <JohnGriffiths@users.noreply.github.com>

* added more options for site args; improved function names; removed some redundant lines (#209)

* fix subject num parsing bug

* analysis report function improvements for openbci cyton and gtec unicorn devices

* run exp fix

* Update requirements.txt

* fixes to get docs building by github action (#210)

* fixes to get docs building by github action

* reverted some changes

* Update 01r__ssvep_viz.py

Co-authored-by: John Griffiths <JohnGriffiths@users.noreply.github.com>

* Update README.rst

small commit to test doc build workflow on this branch

* removing gsoc submodule

* ci: update python to 3.8, update wxPython, update setup-python action

* ci: pin ubuntu versions to 22.04, updated wxPython urls

* ci: bumped psychopy to 2023.1.0

* build(deps): set upper supported numpy version to 1.23.x

* chore: applied no_implicit_optional

* update dependencies - for build (#220)

* major update: merging develop to master (#217)

* example test commit (#182)

* example test commit

* example edit

* ci: run test workflow on develop branch

* ci: add develop branch to job triggers

* ci: fix syntax issue in workflow

* fix: fixed import (brainflow updated API)

* build(deps): locked pylsl==1.10.5 (#187)

* Experiment Class Refactor (update to #183), converting specific experiments to subclasses (#184)

* First commit

* Second commit

* Modifications

* Lol

* Lol

* Incorporated N170 and p300, looking good for a PR

* ssvep update

* Implementing subclasses instead of loose functions

* fix: fixed import (brainflow updated API)

* Playing around still

* Fixing import errors

* Adding abstractmethod decorators

* Still working on the import error

* Guess what's finally working

* Comments and naming ticks

* More comments

* Live coding demonstration

* ssvep adapted

* Adapting Auditory Oddball

* changing save_fn to self.save_fun

* This maybe the last big change

* utils file changed, changes work through cli

Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>

* Submodule added for gsoc

* Adding pipelines for cli analysis (#202)

* started pipelines function

* almost working simple function equivalents of nb scripts

* fix: fixed import (brainflow updated API)

* sqc fixes for unicorn (#176)

* Ignore pushes

* Trying to create a cli

* Stepping through the problem

* First commit

* Fixing pause in signal quality check

* Fixing Signal quality check problem

* fix the technical debt

* Save path done for automated saving pdf

* I feel amazing

* Almost through

* Update eegnb/cli/__main__.py

Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>

* Trying to create cli but it's being really painful

* Extra word cli error

* Changed example handling

* Pain

* Adding whole datapath

* Finally fixed cli

* hmm

* Looking good

* added hyperlink

* Having some issues with detecting css and image deltetion

* Just the css now

* Fixed the css linking problem though it's a weird soln

* Automated running, still fnames problem

* Hahahah embedded images in html

* Improving code

* Okay now

* Look at that

* Almost there just the two figures now

* Now

* Added attrdict to do with cli error

Co-authored-by: John Griffiths <j.davidgriffiths@gmail.com>
Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>
Co-authored-by: John Griffiths <JohnGriffiths@users.noreply.github.com>

* added more options for site args; improved function names; removed some redundant lines (#209)

* fix subject num parsing bug

* analysis report function improvements for openbci cyton and gtec unicorn devices

* run exp fix

* Update requirements.txt

* fixes to get docs building by github action (#210)

* fixes to get docs building by github action

* reverted some changes

* Update 01r__ssvep_viz.py

Co-authored-by: John Griffiths <JohnGriffiths@users.noreply.github.com>

* Update README.rst

small commit to test doc build workflow on this branch

* removing gsoc submodule

Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>
Co-authored-by: Parv Agarwal <65726543+Parvfect@users.noreply.github.com>
Co-authored-by: Parvfect <parvagrw02@gmail.com>
Co-authored-by: Ben Pettit <pelleter@gmail.com>

* update dependencies - seaborn

* docs/perf: reduced the imports: `cueing` example

* bug: update deprecated `plot_psd()` method

- feature of new `mne` version.
- instead of doing plot_psd() from the `mne.io.Raw` object, must do this:
	- `raw.compute_psd().plot()`
	- i.e., has to pass through a `spectrum` object

* updated deprec. `mne` function

* perf: removed importage of unused packages from example
- One of them, i.e., `collections.Iterable` is even deprecated.
- Must use `collections.abc.Iterable` instead now.
- Resulting in faster build/user run

* bugfix: `plot_conditions` - due to `sns` deprecation

* bugfix: resolved `psd_welch()` deprecation (`mne`)

---------

Co-authored-by: John Griffiths <JohnGriffiths@users.noreply.github.com>
Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>
Co-authored-by: Parv Agarwal <65726543+Parvfect@users.noreply.github.com>
Co-authored-by: Parvfect <parvagrw02@gmail.com>
Co-authored-by: Ben Pettit <pelleter@gmail.com>
Co-authored-by: Taha Morshedzadeh <taha.morshedzadeh@neuromatch.io>

* Updated psychopy (#215)

* update psychopy for psychxr compatibility

* updated n170 example to run again.

* Updated doc examples for N170, P300 and SSVEP after Experiment Class Refactor (#218)

* major update: merging develop to master (#217)

* example test commit (#182)

* example test commit

* example edit

* ci: run test workflow on develop branch

* ci: add develop branch to job triggers

* ci: fix syntax issue in workflow

* fix: fixed import (brainflow updated API)

* build(deps): locked pylsl==1.10.5 (#187)

* Experiment Class Refactor (update to #183), converting specific experiments to subclasses (#184)

* First commit

* Second commit

* Modifications

* Lol

* Lol

* Incorporated N170 and p300, looking good for a PR

* ssvep update

* Implementing subclasses instead of loose functions

* fix: fixed import (brainflow updated API)

* Playing around still

* Fixing import errors

* Adding abstractmethod decorators

* Still working on the import error

* Guess what's finally working

* Comments and naming ticks

* More comments

* Live coding demonstration

* ssvep adapted

* Adapting Auditory Oddball

* changing save_fn to self.save_fun

* This maybe the last big change

* utils file changed, changes work through cli

Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>

* Submodule added for gsoc

* Adding pipelines for cli analysis (#202)

* started pipelines function

* almost working simple function equivalents of nb scripts

* fix: fixed import (brainflow updated API)

* sqc fixes for unicorn (#176)

* Ignore pushes

* Trying to create a cli

* Stepping through the problem

* First commit

* Fixing pause in signal quality check

* Fixing Signal quality check problem

* fix the technical debt

* Save path done for automated saving pdf

* I feel amazing

* Almost through

* Update eegnb/cli/__main__.py

Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>

* Trying to create cli but it's being really painful

* Extra word cli error

* Changed example handling

* Pain

* Adding whole datapath

* Finally fixed cli

* hmm

* Looking good

* added hyperlink

* Having some issues with detecting css and image deltetion

* Just the css now

* Fixed the css linking problem though it's a weird soln

* Automated running, still fnames problem

* Hahahah embedded images in html

* Improving code

* Okay now

* Look at that

* Almost there just the two figures now

* Now

* Added attrdict to do with cli error

Co-authored-by: John Griffiths <j.davidgriffiths@gmail.com>
Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>
Co-authored-by: John Griffiths <JohnGriffiths@users.noreply.github.com>

* added more options for site args; improved function names; removed some redundant lines (#209)

* fix subject num parsing bug

* analysis report function improvements for openbci cyton and gtec unicorn devices

* run exp fix

* Update requirements.txt

* fixes to get docs building by github action (#210)

* fixes to get docs building by github action

* reverted some changes

* Update 01r__ssvep_viz.py

Co-authored-by: John Griffiths <JohnGriffiths@users.noreply.github.com>

* Update README.rst

small commit to test doc build workflow on this branch

* removing gsoc submodule

Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>
Co-authored-by: Parv Agarwal <65726543+Parvfect@users.noreply.github.com>
Co-authored-by: Parvfect <parvagrw02@gmail.com>
Co-authored-by: Ben Pettit <pelleter@gmail.com>

* Updated doc examples

* Update 00x__n170_run_experiment.py

fix: typo in func param

---------

Co-authored-by: John Griffiths <JohnGriffiths@users.noreply.github.com>
Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>
Co-authored-by: Ben Pettit <pelleter@gmail.com>
Co-authored-by: Ore O <oreogundipe@gmail.com>

* fix error breaking n170 test (#223)

* fixed requirements.txt so 'pip install -e .' would work on windows. (#229)

* Get CI test builds working again! (#170)

* Revert "Revert PR #167: "ci: fix broken CI" (#169)"

This reverts commit 2d74871.

* Update Makefile

* fix: Update vep.py import

* Update Makefile

* Update vep.py

* fix: typo in makefile

* fix: update BaseExperiment class reference

* Update Makefile

* Update vep.py

* Update 01r__n170_viz.py

* makefile: install libnotify4

---------

Co-authored-by: Ore O <oreogundipe@gmail.com>

* fix macos build (#245)

* Add devcontainer configuration for CPU environment

* Fixed the python version needed

* Fix plot conditions (#257)

* fixed plot_conditions functoni issues

* small change to viz n170 plotting example

* small change to viz p300 plotting example

* fixed to plotting issue

* modify plot command

* update example files

* fix condition label bug

* fix: set layout engine to fix colorbar error

---------

Co-authored-by: Ore O <oreogundipe@gmail.com>

* Started the name switch (#251)

* started renaming from eegnb to eegexpy

* more eegnb renaming work

* more eegnb switches

* more relabelling

* ssvep renamings

* cueing eg

* update for more misc files

* more of the same

* update

* Update and rename available_notebooks.md to available_experiments.md

* Add newlogo (#260)

* Add files via upload

* Update README.rst

* added to enable eegexpy commands (#265)

* started alias of main package for imports (#266)

* Add multiple installation options (#263)

* added newly separated analysis and streaming utils files

* modified setup and requirements to allow for optional install types

* updated imports in experiment examples

* fixed some typos

* Update requirements.txt

moved click library to stim pres requirements section

* Update requirements.txt

Co-authored-by: Taha Morshedzadeh <t.morshedzadeh@mail.utoronto.ca>

* Update Makefile

* Update docs.yml

* Update Makefile

this does a full build with all dependencies for EEG-ExPy

---------

Co-authored-by: Ore O <oreogundipe@gmail.com>
Co-authored-by: Taha Morshedzadeh <t.morshedzadeh@mail.utoronto.ca>

* Add support for /develop in docs site (#259)

* feat: update action to build doc page in a folder

* test: see if it works without if clause

* test: change source for docs

* Initial support for VR headsets (#241)

* fixed requirements.txt so 'pip install -e .' would work on windows.

* added support for n170 to run on rift

* altered logic to add back in jitter

* simplified logic

* made fullscreen again

* further simplified logic

* decreased font size of instructions for vr

* fixed instructions display, further simplified logic, removed logs

* made code easier to read

* reverted board back to muse

* Enable headlocking to fix jittering - cancel out any rotation and translation coming from the headset.

* fixed use_vr parameter to be set to False by default for existing experiments.

* fix macos build

* reverted unnecessary changes and made p300 experiment display correctly

* added vr support for p300 and ssvep

* fix psychxr version

* adding vr doc

* updated vr doco

---------

Co-authored-by: John Griffiths <JohnGriffiths@users.noreply.github.com>

* ssaep volumefadingfixes (#81)

* fixed duration on instructions screen

* put sound object instantiation inside trials loop. fixes sound fading issue

---------

Co-authored-by: Erik Bjäreholt <erik@bjareho.lt>
Co-authored-by: Parv Agarwal <65726543+Parvfect@users.noreply.github.com>
Co-authored-by: Parvfect <parvagrw02@gmail.com>
Co-authored-by: Ben Pettit <pelleter@gmail.com>
Co-authored-by: Ore Ogundipe <oreogundipe@gmail.com>
Co-authored-by: Taha Morshedzadeh <taha.morshedzadeh@neuromatch.io>
Co-authored-by: Ben Pettit <benpettit@digimulti.com>
Co-authored-by: Taha Morshedzadeh <t.morshedzadeh@mail.utoronto.ca>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants