Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3965bb1

Browse files
authored
add desktop-only CI, add py312, remove ipywidgets import in plot.py, pin pygfx>=0.1.14 (#314)
* add desktop-only CI, add py312, remove ipywidget import, pin pygfx>=0.1.14 * add tests-desktop to extras_require * install setuptools explicitly, use py3.11 for docs test
1 parent c3fd72e commit 3965bb1

File tree

5 files changed

+80
-15
lines changed

5 files changed

+80
-15
lines changed

.github/workflows/ci.yml

Lines changed: 65 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ jobs:
2222
fail-fast: false
2323
steps:
2424
- uses: actions/checkout@v3
25-
- name: Set up Python 3.9
25+
- name: Set up Python 3.11
2626
uses: actions/setup-python@v4
2727
with:
28-
python-version: 3.9
28+
python-version: 3.11
2929
- name: Install llvmpipe and lavapipe for offscreen canvas, and git lfs
3030
run: |
3131
sudo apt-get update -y -qq
@@ -36,8 +36,8 @@ jobs:
3636
sudo apt-get install ./pandoc-3.1.4-1-amd64.deb
3737
- name: Install dev dependencies
3838
run: |
39-
python -m pip install --upgrade pip
40-
# remove pygfx from requirements, we install a specific commit of pygfx since both fpl and pygfx are fast evolving
39+
python -m pip install --upgrade pip setuptools
40+
# remove pygfx from install_requires, we install using pygfx@main
4141
sed -i "/pygfx/d" ./setup.py
4242
pip install git+https://github.com/pygfx/pygfx.git@main
4343
pip install -e ".[notebook,docs,tests]"
@@ -46,8 +46,8 @@ jobs:
4646
cd docs
4747
make html SPHINXOPTS="-W --keep-going"
4848
49-
test-build:
50-
name: Test examples
49+
test-build-full:
50+
name: Test examples, env with notebook and glfw
5151
runs-on: ubuntu-latest
5252
if: ${{ !github.event.pull_request.draft }}
5353
strategy:
@@ -60,6 +60,8 @@ jobs:
6060
pyversion: '3.10'
6161
- name: Test py311
6262
pyversion: '3.11'
63+
- name: Test py312
64+
pyversion: '3.12'
6365
steps:
6466
- name: Install git-lfs
6567
run: |
@@ -75,8 +77,8 @@ jobs:
7577
sudo apt-get install --no-install-recommends -y libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers git-lfs
7678
- name: Install dev dependencies
7779
run: |
78-
python -m pip install --upgrade pip
79-
# remove pygfx from requirements, we install a specific commit of pygfx since both fpl and pygfx are fast evolving
80+
python -m pip install --upgrade pip setuptools
81+
# remove pygfx from install_requires, we install using pygfx@main
8082
sed -i "/pygfx/d" ./setup.py
8183
pip install git+https://github.com/pygfx/pygfx.git@main
8284
pip install -e ".["tests"]"
@@ -100,3 +102,58 @@ jobs:
100102
path: |
101103
examples/desktop/diffs
102104
examples/notebooks/diffs
105+
106+
test-build-desktop:
107+
name: Test examples, env with only glfw
108+
runs-on: ubuntu-latest
109+
if: ${{ !github.event.pull_request.draft }}
110+
strategy:
111+
fail-fast: false
112+
matrix:
113+
include:
114+
- name: Test py39
115+
pyversion: '3.9'
116+
- name: Test py310
117+
pyversion: '3.10'
118+
- name: Test py311
119+
pyversion: '3.11'
120+
- name: Test py312
121+
pyversion: '3.12'
122+
steps:
123+
- name: Install git-lfs
124+
run: |
125+
sudo apt install --no-install-recommends -y git-lfs
126+
- uses: actions/checkout@v3
127+
- name: Set up Python
128+
uses: actions/setup-python@v3
129+
with:
130+
python-version: ${{ matrix.pyversion }}
131+
- name: Install llvmpipe and lavapipe for offscreen canvas
132+
run: |
133+
sudo apt-get update -y -qq
134+
sudo apt-get install --no-install-recommends -y libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers git-lfs
135+
- name: Install dev dependencies
136+
run: |
137+
python -m pip install --upgrade pip setuptools
138+
# remove pygfx from install_requires, we install using pygfx@main
139+
sed -i "/pygfx/d" ./setup.py
140+
pip install git+https://github.com/pygfx/pygfx.git@main
141+
pip install -e ".["tests-desktop"]"
142+
- name: Show wgpu backend
143+
run:
144+
python -c "from examples.tests.testutils import wgpu_backend; print(wgpu_backend)"
145+
- name: fetch git lfs files
146+
run: |
147+
git lfs fetch --all
148+
git lfs pull
149+
- name: Test examples
150+
env:
151+
PYGFX_EXPECT_LAVAPIPE: true
152+
run: |
153+
pytest -v examples
154+
- uses: actions/upload-artifact@v3
155+
if: ${{ failure() }}
156+
with:
157+
name: screenshot-diffs
158+
path: |
159+
examples/desktop/diffs

.github/workflows/pypi-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- name: Set up Python
2626
uses: actions/setup-python@v3
2727
with:
28-
python-version: '3.x'
28+
python-version: '3.10'
2929
- name: Install dependencies
3030
run: |
3131
python -m pip install --upgrade pip

.github/workflows/screenshots.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ jobs:
2020
run: |
2121
sudo apt install --no-install-recommends -y git-lfs
2222
- uses: actions/checkout@v3
23-
- name: Set up Python 3.10
23+
- name: Set up Python 3.11
2424
uses: actions/setup-python@v4
2525
with:
26-
python-version: '3.10'
26+
python-version: '3.11'
2727
- name: Install llvmpipe and lavapipe for offscreen canvas
2828
run: |
2929
sudo apt-get update -y -qq
3030
sudo apt-get install --no-install-recommends -y libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers
3131
- name: Install dev dependencies
3232
run: |
33-
python -m pip install --upgrade pip
34-
# remove pygfx from requirements, we install a specific commit of pygfx since both fpl and pygfx are fast evolving
33+
python -m pip install --upgrade pip setuptools
34+
# remove pygfx from install_requires, we install using pygfx@main
3535
sed -i "/pygfx/d" ./setup.py
3636
pip install git+https://github.com/pygfx/pygfx.git@main
3737
pip install -e ".["tests"]"

fastplotlib/layouts/_plot.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import traceback
44
import os
55

6-
import ipywidgets
76
import pygfx
87
from wgpu.gui.auto import WgpuCanvas, is_jupyter
98

setup.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
install_requires = [
66
"numpy>=1.23.0",
7-
"pygfx>=0.1.13",
7+
"pygfx>=0.1.14",
88
]
99

1010

@@ -43,6 +43,15 @@
4343
"scikit-learn",
4444
"tqdm",
4545
"sidecar"
46+
],
47+
48+
"tests-desktop":
49+
[
50+
"pytest",
51+
"scipy",
52+
"imageio",
53+
"scikit-learn",
54+
"tqdm",
4655
]
4756
}
4857

0 commit comments

Comments
 (0)