Skip to content

Commit 5601ef7

Browse files
ci: switch to dep groups (#142)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 8d588db commit 5601ef7

File tree

14 files changed

+186
-124
lines changed

14 files changed

+186
-124
lines changed

.github/workflows/ci-gpu.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
with:
4848
enable-cache: true # "auto" is `false` on non-GitHub runners
4949
- name: Install package
50-
run: uv pip install --system -e .[test,full] cupy-cuda12x --extra-index-url=https://pypi.nvidia.com --index-strategy=unsafe-best-match
50+
run: uv pip install --system --group=test -e .[full] cupy-cuda12x --extra-index-url=https://pypi.nvidia.com --index-strategy=unsafe-best-match
5151
- name: List installed packages
5252
run: uv pip list
5353
- name: Run tests

.github/workflows/ci.yml

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
envs: ${{ steps.get-envs.outputs.envs }}
1919
pythons: ${{ steps.get-pythons.outputs.pythons }}
2020
steps:
21-
- uses: actions/checkout@v5
21+
- uses: actions/checkout@v6
2222
with: { fetch-depth: 0, filter: "blob:none" }
2323
- uses: astral-sh/setup-uv@v7
2424
- name: Get test environments
@@ -50,7 +50,7 @@ jobs:
5050
python: "3.13"
5151
os: macos-latest
5252
steps:
53-
- uses: actions/checkout@v5
53+
- uses: actions/checkout@v6
5454
with: { fetch-depth: 0, filter: "blob:none" }
5555
- uses: astral-sh/setup-uv@v7
5656
with:
@@ -73,13 +73,13 @@ jobs:
7373
name: CPU Benchmarks
7474
runs-on: ubuntu-latest
7575
steps:
76-
- uses: actions/checkout@v5
76+
- uses: actions/checkout@v6
7777
with: { fetch-depth: 0, filter: "blob:none" }
7878
- uses: actions/setup-python@v6
7979
with:
8080
python-version: '3.13'
8181
- uses: astral-sh/setup-uv@v7
82-
- run: uv pip install --system -e .[test,full]
82+
- run: uv pip install --system --group=test -e .[full]
8383
- uses: CodSpeedHQ/action@v3
8484
with:
8585
run: pytest -m benchmark --codspeed -n auto
@@ -88,7 +88,7 @@ jobs:
8888
name: Import Tests
8989
runs-on: ubuntu-latest
9090
steps:
91-
- uses: actions/checkout@v5
91+
- uses: actions/checkout@v6
9292
with: { fetch-depth: 0, filter: "blob:none" }
9393
- uses: actions/setup-python@v6
9494
with:
@@ -100,20 +100,15 @@ jobs:
100100
- run: python -c 'import testing.fast_array_utils as tfau; print(tfau.ArrayType("numpy", "ndarray"))'
101101
check:
102102
name: Static Checks
103-
needs: get-environments
104103
runs-on: ubuntu-latest
105-
strategy:
106-
matrix:
107-
python-version: ${{ fromJSON(needs.get-environments.outputs.pythons) }}
108104
env:
109105
SKIP: no-commit-to-branch # this CI runs on the main branch
110106
steps:
111-
- uses: actions/checkout@v5
107+
- uses: actions/checkout@v6
112108
with: { fetch-depth: 0, filter: "blob:none" }
113-
- uses: actions/setup-python@v6
109+
- uses: j178/prek-action@v1
114110
with:
115-
python-version: ${{ matrix.python-version }}
116-
- uses: pre-commit/action@v3.0.1
111+
working-directory: ${{ github.workspace }}
117112
pass:
118113
name: All Checks
119114
if: always()

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ _version.py
44
/build/
55
/dist/
66
/.python-version
7+
/*.lock
78

89
# Testing
910
/test-data/

.pre-commit-config.yaml

Lines changed: 106 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,108 @@
11
repos:
2-
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v6.0.0
4-
hooks:
5-
- id: end-of-file-fixer
6-
- id: trailing-whitespace
7-
- id: no-commit-to-branch
8-
- repo: https://github.com/astral-sh/ruff-pre-commit
9-
rev: v0.14.5
10-
hooks:
11-
- id: ruff-check
12-
args: [--fix, --exit-non-zero-on-fix]
13-
- id: ruff-check
14-
args: [--preview, --select=CPY]
15-
- id: ruff-format
16-
- repo: https://github.com/tox-dev/pyproject-fmt
17-
rev: v2.11.1
18-
hooks:
19-
- id: pyproject-fmt
20-
- repo: https://github.com/biomejs/pre-commit
21-
rev: v2.3.5
22-
hooks:
23-
- id: biome-format
24-
- repo: https://github.com/pre-commit/mirrors-mypy
25-
rev: v1.18.2
26-
hooks:
27-
- id: mypy
28-
args: [--config-file=pyproject.toml, .]
29-
pass_filenames: false
30-
additional_dependencies:
31-
- pytest
32-
- pytest-codspeed!=4.0.0 # https://github.com/CodSpeedHQ/pytest-codspeed/pull/84
33-
- numba
34-
- numpy
35-
- scipy-stubs
36-
- dask
37-
- zarr
38-
- h5py
39-
- anndata
40-
- types-docutils
41-
- sphinx
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v6.0.0
4+
hooks:
5+
- id: end-of-file-fixer
6+
- id: trailing-whitespace
7+
- id: no-commit-to-branch
8+
- repo: https://github.com/astral-sh/ruff-pre-commit
9+
rev: v0.14.5
10+
hooks:
11+
- id: ruff-check
12+
args: [--fix, --exit-non-zero-on-fix]
13+
- id: ruff-check
14+
args: [--preview, --select=CPY]
15+
- id: ruff-format
16+
- repo: https://github.com/tox-dev/pyproject-fmt
17+
rev: v2.11.1
18+
hooks:
19+
- id: pyproject-fmt
20+
- repo: https://github.com/biomejs/pre-commit
21+
rev: v2.3.5
22+
hooks:
23+
- id: biome-format
24+
- repo: https://github.com/H4rryK4ne/update-mypy-hook
25+
rev: a8b56c4055ff0c7c589794c02813ef8e9d5704fc
26+
hooks:
27+
- id: update-mypy-hook
28+
- repo: https://github.com/pre-commit/mirrors-mypy
29+
rev: v1.18.2
30+
hooks:
31+
- id: mypy
32+
args: [--config-file=pyproject.toml, .]
33+
pass_filenames: false
34+
language_version: '3.13'
35+
additional_dependencies:
36+
- alabaster==1.0.0
37+
- anndata==0.12.6
38+
- array-api-compat==1.12.0
39+
- babel==2.17.0
40+
- certifi==2025.11.12
41+
- cffi==2.0.0
42+
- charset-normalizer==3.4.4
43+
- click==8.3.1
44+
- cloudpickle==3.1.2
45+
- colorama==0.4.6 ; sys_platform == 'win32'
46+
- coverage==7.12.0
47+
- dask==2025.11.0
48+
- docutils==0.22.3
49+
- donfig==0.8.1.post1
50+
- execnet==2.1.2
51+
- fsspec==2025.10.0
52+
- google-crc32c==1.7.1
53+
- h5py==3.15.1
54+
- idna==3.11
55+
- imagesize==1.4.1
56+
- iniconfig==2.3.0
57+
- jinja2==3.1.6
58+
- joblib==1.5.2
59+
- legacy-api-wrap==1.5
60+
- llvmlite==0.45.1
61+
- locket==1.0.0
62+
- markdown-it-py==4.0.0
63+
- markupsafe==3.0.3
64+
- mdurl==0.1.2
65+
- natsort==8.4.0
66+
- numba==0.62.1
67+
- numcodecs==0.16.5
68+
- numpy==2.3.5
69+
- numpy-typing-compat==20250818.2.3
70+
- optype==0.14.0
71+
- packaging==25.0
72+
- pandas==2.3.3
73+
- partd==1.4.2
74+
- pluggy==1.6.0
75+
- pycparser==2.23 ; implementation_name != 'PyPy'
76+
- pygments==2.19.2
77+
- pytest==9.0.1
78+
- pytest-codspeed==4.2.0
79+
- pytest-doctestplus==1.6.0
80+
- pytest-xdist==3.8.0
81+
- python-dateutil==2.9.0.post0
82+
- pytz==2025.2
83+
- pyyaml==6.0.3
84+
- requests==2.32.5
85+
- rich==14.2.0
86+
- roman-numerals==3.1.0
87+
- scikit-learn==1.7.2
88+
- scipy==1.16.3
89+
- scipy-stubs==1.16.3.2
90+
- six==1.17.0
91+
- snowballstemmer==3.0.1
92+
- sphinx==9.0.1
93+
- sphinxcontrib-applehelp==2.0.0
94+
- sphinxcontrib-devhelp==2.0.0
95+
- sphinxcontrib-htmlhelp==2.1.0
96+
- sphinxcontrib-jsmath==1.0.1
97+
- sphinxcontrib-qthelp==2.0.0
98+
- sphinxcontrib-serializinghtml==2.0.0
99+
- threadpoolctl==3.6.0
100+
- toolz==1.1.0
101+
- types-docutils==0.22.3.20251115
102+
- tzdata==2025.2
103+
- urllib3==2.5.0
104+
- zarr==3.1.5
42105
ci:
43-
skip: [mypy] # too big
106+
skip:
107+
- mypy # too big
108+
- update-mypy-hook # offline?

.readthedocs.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ build:
33
os: ubuntu-24.04
44
tools:
55
python: "3.13"
6-
python:
7-
install:
8-
- method: pip
9-
path: .
10-
extra_requirements:
11-
- doc
12-
sphinx:
13-
configuration: docs/conf.py
14-
fail_on_warning: true
6+
jobs:
7+
create_environment:
8+
- asdf plugin add uv
9+
- asdf install uv latest
10+
- asdf global uv latest
11+
build:
12+
html:
13+
- uvx hatch run docs:build
14+
- mv docs/_build $READTHEDOCS_OUTPUT

docs/conf.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@
4343
"sphinx.ext.autodoc",
4444
"sphinx.ext.autosummary",
4545
"sphinx.ext.napoleon",
46-
# "scanpydoc.definition_list_typed_field",
47-
"scanpydoc.elegant_typehints",
4846
"sphinx_autofixture",
4947
]
5048

0 commit comments

Comments
 (0)