Skip to content

Commit 7b6e68a

Browse files
ci: pre-commit autoupdate (#152)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Phil Schaf <flying-sheep@web.de>
1 parent cdaa7c9 commit 7b6e68a

2 files changed

Lines changed: 58 additions & 73 deletions

File tree

.pre-commit-config.yaml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,19 @@ repos:
66
- id: trailing-whitespace
77
- id: no-commit-to-branch
88
- repo: https://github.com/astral-sh/ruff-pre-commit
9-
rev: v0.14.14
9+
rev: v0.15.0
1010
hooks:
1111
- id: ruff-check
1212
args: [--fix, --exit-non-zero-on-fix]
1313
- id: ruff-check
1414
args: [--preview, --select=CPY]
1515
- id: ruff-format
1616
- repo: https://github.com/tox-dev/pyproject-fmt
17-
rev: v2.12.1
17+
rev: v2.15.0
1818
hooks:
1919
- id: pyproject-fmt
2020
- repo: https://github.com/biomejs/pre-commit
21-
rev: v2.3.10
21+
rev: v2.3.14
2222
hooks:
2323
- id: biome-format
2424
- repo: https://github.com/H4rryK4ne/update-mypy-hook
@@ -34,21 +34,21 @@ repos:
3434
language_version: '3.13'
3535
additional_dependencies:
3636
- alabaster==1.0.0
37-
- anndata==0.12.7
37+
- anndata==0.12.8
3838
- array-api-compat==1.13.0
39-
- babel==2.17.0
39+
- babel==2.18.0
4040
- certifi==2026.1.4
4141
- cffi==2.0.0
4242
- charset-normalizer==3.4.4
4343
- click==8.3.1
4444
- cloudpickle==3.1.2
4545
- colorama==0.4.6 ; sys_platform == 'win32'
46-
- coverage==7.13.1
47-
- dask==2026.1.1
46+
- coverage==7.13.4
47+
- dask==2026.1.2
4848
- docutils==0.22.4
4949
- donfig==0.8.1.post1
5050
- execnet==2.1.2
51-
- fsspec==2026.1.0
51+
- fsspec==2026.2.0
5252
- google-crc32c==1.8.0
5353
- h5py==3.15.1
5454
- idna==3.11
@@ -68,25 +68,25 @@ repos:
6868
- numpy==2.3.5
6969
- numpy-typing-compat==20251206.2.3
7070
- optype==0.15.0
71-
- packaging==25.0
71+
- packaging==26.0
7272
- pandas==2.3.3
7373
- partd==1.4.2
7474
- pluggy==1.6.0
75-
- pycparser==2.23 ; implementation_name != 'PyPy'
75+
- pycparser==3.0 ; implementation_name != 'PyPy'
7676
- pygments==2.19.2
7777
- pytest==9.0.2
78-
- pytest-codspeed==4.2.0
79-
- pytest-doctestplus==1.7.0
78+
- pytest-codspeed==4.3.0
79+
- pytest-doctestplus==1.7.1
8080
- pytest-xdist==3.8.0
8181
- python-dateutil==2.9.0.post0
8282
- pytz==2025.2
8383
- pyyaml==6.0.3
8484
- requests==2.32.5
85-
- rich==14.2.0
85+
- rich==14.3.2
8686
- roman-numerals==4.1.0
8787
- scikit-learn==1.8.0
8888
- scipy==1.17.0
89-
- scipy-stubs==1.17.0.1
89+
- scipy-stubs==1.17.0.2
9090
- six==1.17.0
9191
- snowballstemmer==3.0.1
9292
- sphinx==9.1.0

pyproject.toml

Lines changed: 44 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ optional-dependencies.dask = [ "dask>=2023.6.1" ]
2929
optional-dependencies.full = [ "fast-array-utils[accel,dask,sparse]", "h5py", "zarr" ]
3030
optional-dependencies.sparse = [ "scipy>=1.13" ]
3131
optional-dependencies.testing = [ "packaging" ]
32-
urls.'Documentation' = "https://icb-fast-array-utils.readthedocs-hosted.com/"
33-
urls.'Issue Tracker' = "https://github.com/scverse/fast-array-utils/issues"
34-
urls.'Source Code' = "https://github.com/scverse/fast-array-utils"
32+
urls."Documentation" = "https://icb-fast-array-utils.readthedocs-hosted.com/"
33+
urls."Issue Tracker" = "https://github.com/scverse/fast-array-utils/issues"
34+
urls."Source Code" = "https://github.com/scverse/fast-array-utils"
3535
entry-points.pytest11.fast_array_utils = "testing.fast_array_utils.pytest"
3636

3737
[dependency-groups]
@@ -42,14 +42,6 @@ test = [
4242
"zarr",
4343
{ include-group = "test-min" },
4444
]
45-
test-min = [
46-
"coverage[toml]",
47-
"fast-array-utils[sparse,testing]", # include sparse for testing numba-less to_dense
48-
"pytest",
49-
"pytest-codspeed",
50-
"pytest-doctestplus",
51-
"pytest-xdist",
52-
]
5345
doc = [
5446
"furo>=2024.8.6",
5547
"pytest>=8.4",
@@ -65,58 +57,48 @@ mypy = [
6557
"types-docutils",
6658
{ include-group = "test" },
6759
]
60+
test-min = [
61+
"coverage[toml]",
62+
"fast-array-utils[sparse,testing]", # include sparse for testing numba-less to_dense
63+
"pytest",
64+
"pytest-codspeed",
65+
"pytest-doctestplus",
66+
"pytest-xdist",
67+
]
6868

69-
[tool.hatch.build.targets.wheel]
70-
packages = [ "src/testing", "src/fast_array_utils" ]
71-
72-
[tool.hatch.envs.default]
73-
installer = "uv"
74-
75-
[tool.hatch.envs.docs]
76-
dependency-groups = [ "doc" ]
77-
scripts.build = "sphinx-build -M html docs docs/_build"
78-
scripts.clean = "git clean -fdX docs"
79-
scripts.open = "python -m webbrowser -t docs/_build/html/index.html"
80-
81-
[tool.hatch.envs.hatch-test]
82-
default-args = [ ]
83-
dependency-groups = [ "test-min" ]
69+
[tool.hatch]
70+
build.targets.wheel.packages = [ "src/testing", "src/fast_array_utils" ]
71+
envs.default.installer = "uv"
72+
envs.docs.dependency-groups = [ "doc" ]
73+
envs.docs.scripts.build = "sphinx-build -M html docs docs/_build"
74+
envs.docs.scripts.clean = "git clean -fdX docs"
75+
envs.docs.scripts.open = "python -m webbrowser -t docs/_build/html/index.html"
76+
envs.hatch-test.default-args = []
77+
envs.hatch-test.dependency-groups = [ "test-min" ]
8478
# TODO: remove scipy once https://github.com/pypa/hatch/pull/2127 is released
85-
extra-dependencies = [ "ipykernel", "ipycytoscape", "scipy" ]
86-
env-vars.CODSPEED_PROFILE_FOLDER = "test-data/codspeed"
87-
overrides.matrix.extras.features = [
79+
envs.hatch-test.extra-dependencies = [ "ipykernel", "ipycytoscape", "scipy" ]
80+
envs.hatch-test.env-vars.CODSPEED_PROFILE_FOLDER = "test-data/codspeed"
81+
envs.hatch-test.overrides.matrix.extras.features = [
8882
{ if = [ "full" ], value = "full" },
8983
]
90-
overrides.matrix.extras.dependency-groups = [
84+
envs.hatch-test.overrides.matrix.extras.dependency-groups = [
9185
{ if = [ "full" ], value = "test" },
9286
]
93-
overrides.matrix.resolution.dependencies = [
87+
envs.hatch-test.overrides.matrix.resolution.dependencies = [
9488
# TODO: move to `min-reqs` feature once this is fixed: https://github.com/tlambert03/hatch-min-requirements/issues/11
9589
{ if = [ "lowest" ], value = "numpy==2" },
9690
{ if = [ "lowest" ], value = "dask==2023.6.1" },
9791
{ if = [ "lowest" ], value = "scipy==1.13.0" },
9892
]
99-
100-
[[tool.hatch.envs.hatch-test.matrix]]
101-
python = [ "3.13", "3.12" ]
102-
extras = [ "full", "min" ]
103-
104-
[[tool.hatch.envs.hatch-test.matrix]]
105-
python = [ "3.12" ]
106-
extras = [ "full" ]
107-
resolution = [ "lowest" ]
108-
109-
[tool.hatch.metadata.hooks.docstring-description]
110-
111-
[tool.hatch.metadata.hooks.fancy-pypi-readme]
112-
content-type = "text/x-rst"
113-
[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
114-
path = "README.rst"
115-
start-after = ".. begin"
116-
117-
[tool.hatch.version]
118-
source = "vcs"
119-
raw-options = { local_scheme = "no-local-version" } # be able to publish dev version
93+
envs.hatch-test.matrix = [
94+
{ python = [ "3.13", "3.12" ], extras = [ "full", "min" ] },
95+
{ python = [ "3.12" ], extras = [ "full" ], resolution = [ "lowest" ] },
96+
]
97+
metadata.hooks.docstring-description = {}
98+
metadata.hooks.fancy-pypi-readme.content-type = "text/x-rst"
99+
metadata.hooks.fancy-pypi-readme.fragments = [ { path = "README.rst", start-after = ".. begin" } ]
100+
version.source = "vcs"
101+
version.raw-options = { local_scheme = "no-local-version" } # be able to publish dev version
120102

121103
[tool.uv]
122104
override-dependencies = [ "sphinx>=9.0.1" ]
@@ -141,20 +123,23 @@ lint.ignore = [
141123
"S101", # asserts are fine
142124
"TID252", # relative imports are fine
143125
]
144-
lint.per-file-ignores."docs/**/*.py" = [ "INP001" ] # No __init__.py in docs
145-
lint.per-file-ignores."src/**/stats/*.py" = [ "A001", "A004" ] # Shadows builtins like `sum`
126+
# No __init__.py in docs
127+
lint.per-file-ignores."docs/**/*.py" = [ "INP001" ]
128+
# Shadows builtins like `sum`
129+
lint.per-file-ignores."src/**/stats/*.py" = [ "A001", "A004" ]
146130
lint.per-file-ignores."tests/**/*.py" = [
147131
"D100", # tests need no module docstrings
148132
"D103", # tests need no function docstrings
149133
"INP001", # tests should not have __init__.py
150134
"PLR2004", # tests use magic values
151135
"S101", # tests use `assert`
152136
]
153-
lint.per-file-ignores."typings/**/*.pyi" = [ "A002", "F403", "F405", "N801" ] # Stubs don’t follow name conventions
137+
# Stubs don’t follow name conventions
138+
lint.per-file-ignores."typings/**/*.pyi" = [ "A002", "F403", "F405", "N801" ]
154139
lint.allowed-confusables = [ "×", "" ]
155140
lint.flake8-bugbear.extend-immutable-calls = [ "testing.fast_array_utils.Flags" ]
156141
lint.flake8-copyright.notice-rgx = "SPDX-License-Identifier: MPL-2\\.0"
157-
lint.flake8-type-checking.exempt-modules = [ ]
142+
lint.flake8-type-checking.exempt-modules = []
158143
lint.flake8-type-checking.strict = true
159144
lint.isort.known-first-party = [ "fast_array_utils" ]
160145
lint.isort.lines-after-imports = 2
@@ -189,10 +174,10 @@ markers = [
189174

190175
[tool.coverage]
191176
run.data_file = "test-data/.coverage"
192-
xml.output = "test-data/coverage.xml"
193-
html.directory = "test-data/htmlcov"
194177
run.omit = [ "src/testing/*", "tests/*" ]
195-
report.exclude_also = [ "if TYPE_CHECKING:", "@numba[.]njit", "[.]{3}" ]
178+
report.exclude_also = [ "@numba[.]njit", "[.]{3}", "if TYPE_CHECKING:" ]
179+
html.directory = "test-data/htmlcov"
180+
xml.output = "test-data/coverage.xml"
196181

197182
[tool.mypy]
198183
strict = true

0 commit comments

Comments
 (0)