Skip to content

Commit fd6bfb6

Browse files
committed
Update dependencies in pyproject.toml and enhance GitHub Actions workflow for testing
1 parent 709714f commit fd6bfb6

2 files changed

Lines changed: 39 additions & 17 deletions

File tree

.github/workflows/tests.yml

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ on:
55
branches: [main]
66
pull_request:
77

8-
# Cancel in-flight runs for the same branch so a new push doesn't queue
9-
# behind an older one.
108
concurrency:
119
group: tests-${{ github.ref }}
1210
cancel-in-progress: true
@@ -20,30 +18,30 @@ jobs:
2018
fail-fast: false
2119
matrix:
2220
os: [ubuntu-latest, macos-latest, windows-latest]
23-
python-version: ["3.12", "3.13"]
21+
python-version: ["3.10", "3.11", "3.12", "3.13"]
22+
exclude:
23+
- os: macos-latest
24+
python-version: "3.10"
25+
- os: macos-latest
26+
python-version: "3.11"
27+
- os: windows-latest
28+
python-version: "3.10"
29+
- os: windows-latest
30+
python-version: "3.11"
2431

2532
steps:
2633
- name: Checkout repository
2734
uses: actions/checkout@v4
2835

29-
# ── uv + Python ────────────────────────────────────────────────────────
3036
- name: Set up uv
3137
uses: astral-sh/setup-uv@v5
3238
with:
3339
python-version: ${{ matrix.python-version }}
34-
# Cache the uv download / build cache between runs.
3540
enable-cache: true
3641

37-
# ── Dependencies ───────────────────────────────────────────────────────
38-
# uv sync installs the project + all dependency groups (including dev,
39-
# which pulls in playwright).
4042
- name: Install dependencies
4143
run: uv sync
4244

43-
# ── Playwright browsers ────────────────────────────────────────────────
44-
# Visual regression tests (test_visual.py) use headless Chromium.
45-
# They skip gracefully when no baselines exist, but the browser must be
46-
# present so the playwright fixture doesn't error on setup.
4745
- name: Install Playwright browsers (Linux)
4846
if: runner.os == 'Linux'
4947
run: uv run playwright install chromium --with-deps
@@ -52,7 +50,31 @@ jobs:
5250
if: runner.os != 'Linux'
5351
run: uv run playwright install chromium
5452

55-
# ── Test suite ─────────────────────────────────────────────────────────
5653
- name: Run tests
5754
run: uv run pytest tests/ -v --tb=short
5855

56+
minimum-deps:
57+
name: Minimum deps (Python 3.10 / ubuntu)
58+
runs-on: ubuntu-latest
59+
60+
steps:
61+
- name: Checkout repository
62+
uses: actions/checkout@v4
63+
64+
- name: Set up uv
65+
uses: astral-sh/setup-uv@v5
66+
with:
67+
python-version: "3.10"
68+
enable-cache: true
69+
70+
- name: Install dependencies at minimum versions
71+
run: uv sync --resolution lowest-direct
72+
73+
- name: Show installed versions
74+
run: uv run pip list --format=columns
75+
76+
- name: Install Playwright browsers
77+
run: uv run playwright install chromium --with-deps
78+
79+
- name: Run tests
80+
run: uv run pytest tests/ -v --tb=short

pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ version = "0.1.0"
1111
description = "A plotting library using python, javascript and anywidget for performant in browser plotting."
1212
requires-python = ">=3.10"
1313
dependencies = [
14-
"anywidget>=0.9.21",
14+
"anywidget>=0.9.0",
1515
"colorcet>=3.0",
1616
"jupyterlab>=4.5.5",
17-
"numpy>=2.4.2",
17+
"numpy>=2.0.0",
1818
"pytest>=9.0.2",
19-
"traitlets>=5.14.3",
19+
"traitlets>=5.0.0",
2020
]
2121

2222
[project.optional-dependencies]
@@ -25,7 +25,7 @@ docs = [
2525
"pydata-sphinx-theme>=0.16",
2626
"sphinx-gallery>=0.18",
2727
"pillow>=10.0",
28-
"matplotlib>=3.9",
28+
"matplotlib>=3.7",
2929
]
3030

3131
[dependency-groups]

0 commit comments

Comments
 (0)