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

MNT: Add support for QtPy #104

Merged
merged 43 commits into from
Apr 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
db98b30
update
GuillaumeFavelier Apr 7, 2022
286434b
update
GuillaumeFavelier Apr 8, 2022
cc5fd4b
FIX: Working on Qt5
larsoner Apr 8, 2022
fd4f6b3
FIX: Simplify
larsoner Apr 8, 2022
02d4484
Merge remote-tracking branch 'upstream/main' into mnt/qtpy
larsoner Apr 8, 2022
b2b7eca
FIX: Names
larsoner Apr 8, 2022
522b54c
FIX: EGL
larsoner Apr 8, 2022
8814d0a
FIX: Install
larsoner Apr 8, 2022
2b9ac54
FIX: Avoid warning
larsoner Apr 8, 2022
a517b7d
Merge remote-tracking branch 'upstream/main' into mnt/qtpy
larsoner Apr 9, 2022
29762a1
Merge remote-tracking branch 'upstream/main' into mnt/qtpy
larsoner Apr 9, 2022
3bcb721
Merge remote-tracking branch 'upstream/main' into mnt/qtpy
larsoner Apr 9, 2022
7e4b58a
WIP: With no ABC
larsoner Apr 9, 2022
c625486
FIX: 3.10
larsoner Apr 9, 2022
c69231f
FIX: Add failing case
larsoner Apr 9, 2022
381feaf
FIX: Name
larsoner Apr 9, 2022
2fc8735
FIX: Inform
larsoner Apr 9, 2022
8490215
FIX: Later
larsoner Apr 9, 2022
5262d57
FIX: Use sibling
larsoner Apr 9, 2022
0c2695d
FIX: Missed
larsoner Apr 9, 2022
af99b2d
FIX: Just change MRO
larsoner Apr 9, 2022
440058d
FIX: Branch
larsoner Apr 9, 2022
9c2096b
STY: Flake
larsoner Apr 9, 2022
edc4c8e
FIX: Env
larsoner Apr 9, 2022
f3b377d
FIX: Keep ref for PySide6
larsoner Apr 9, 2022
18c2e34
FIX: PySide6
larsoner Apr 9, 2022
69a003f
FIX: Incl
larsoner Apr 9, 2022
43b78eb
FIX: Whoops
larsoner Apr 9, 2022
ce61b28
FIX: Test
larsoner Apr 9, 2022
905777c
FIX: Not kwarg
larsoner Apr 9, 2022
46e1f0d
FIX: Cast
larsoner Apr 9, 2022
7ab5f53
FIX: MEP
larsoner Apr 9, 2022
4977a87
FIX: Touch
larsoner Apr 9, 2022
5bae739
FIX: PySide6
larsoner Apr 9, 2022
67c8757
FIX: Simplify
larsoner Apr 9, 2022
0b00cca
FIX: Try
larsoner Apr 9, 2022
51a0107
TST: Wait ages
larsoner Apr 9, 2022
70aa717
FIX: Remove
larsoner Apr 9, 2022
23f84d2
FIX: Revert
larsoner Apr 9, 2022
a3a4ddc
FIX: Missed
larsoner Apr 9, 2022
a8f4a0a
TST: Test rebased MNE-Python PR
larsoner Apr 10, 2022
79272b8
TST: Ping again
larsoner Apr 10, 2022
f7d6276
MNT: Restore branch
larsoner Apr 11, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
87 changes: 85 additions & 2 deletions .github/workflows/qt_viz_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
python -m pip install --upgrade pip
git clone -b ${MNE_BRANCH} --single-branch --depth=1 https://github.com/mne-tools/mne-python.git ../mne-python
python -m pip install -qe ../mne-python
python -m pip install -ve .${PIP_OPTION} -r requirements.txt -r requirements_testing.txt
python -m pip install -ve .${PIP_OPTION} -r requirements.txt -r requirements_testing.txt PyQt5
- name: Downgrade pytest for mne==0.24
run: python -m pip install pytest==6.2.5
if: ${{ matrix.mne }} == 'maint/0.24'
Expand Down Expand Up @@ -115,7 +115,7 @@ jobs:
run: mne sys_info
- run: pytest -m pgtest --cov=mne_qt_browser --cov-report=xml ../mne-python/mne/viz
name: Run MNE-Tests
- run: pytest mne_qt_browser/tests/test_pg_specific.py
- run: pytest --error-for-skips mne_qt_browser/tests/test_pg_specific.py
name: Run pyqtgraph-specific tests
# These are slow on macOS, so skip them
- run: pytest mne_qt_browser/tests/test_speed.py
Expand All @@ -124,3 +124,86 @@ jobs:
- uses: codecov/codecov-action@v1
if: always()
name: 'Upload coverage to CodeCov'
qt:
strategy:
fail-fast: false
matrix:
os: [ubuntu]
mne: [main]
opengl: ['[opengl]']
qt: [PyQt5, PyQt6, PySide2, PySide6]
python: ['3.10']
name: [matrix]
include:
- os: macos
mne: main
opengl: '[opengl]'
qt: PySide6
python: '3.10'
- os: windows
mne: main
opengl: '[opengl]'
qt: PySide6
python: '3.10'
name: ${{ matrix.qt }} / ${{ matrix.os }}
runs-on: ${{ matrix.os }}-latest
env:
MNE_LOGGING_LEVEL: 'warning'
MKL_NUM_THREADS: '1'
PYTHONUNBUFFERED: '1'
DISPLAY: ':99.0'
MNE_BRANCH: ${{ matrix.mne }}
PIP_OPTION: ${{ matrix.opengl }}
PYTHON_VERSION: ${{ matrix.python }}
QT_LIB: ${{ matrix.qt }}
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install dependencies
run: | # use MNE main to ensure test files are available
set -e
python -m pip install --upgrade pip
git clone -b ${MNE_BRANCH} --single-branch --depth=1 https://github.com/mne-tools/mne-python.git ../mne-python
python -m pip install -qe ../mne-python
python -m pip install -ve .${PIP_OPTION} -r requirements.txt -r requirements_testing.txt $QT_LIB
- shell: bash -el {0}
run: ./tools/get_testing_version.sh
name: 'Get testing version'
working-directory: ../mne-python
- uses: actions/cache@v2
with:
key: ${{ env.TESTING_VERSION }}
path: ~/mne_data
name: 'Cache testing data'
- run: python -c 'import mne; print(mne.datasets.testing.data_path(verbose=True))'
name: 'Download testing data'
- run: |
set -e
./tools/setup_xvfb.sh
sudo apt install -yq libegl1
name: Setup xvfb on Linux
working-directory: ../mne-python
if: runner.os == 'Linux'
- name: Check Qt
run: |
mne sys_info -pd
echo ${QT_LIB}:
mne sys_info -pd | grep "^qtpy: .*{${QT_LIB}=.*}$"
- run: pytest -m pgtest --cov=mne_qt_browser --cov-report=xml ../mne-python/mne/viz
name: Run MNE-Tests
- run: pytest --error-for-skips mne_qt_browser/tests/test_pg_specific.py
name: Run pyqtgraph-specific tests
# For some reason this dies on Linux PySide2. We can live without this
# case given our primary target moving forward is Qt6+
- run: pytest mne_qt_browser/tests/test_speed.py
name: Run benchmarks
if: runner.os != 'Linux' || matrix.qt != 'PySide2'
- uses: codecov/codecov-action@v1
if: always()
name: 'Upload coverage to CodeCov'