@@ -21,7 +21,6 @@ classifiers = [
2121 " Programming Language :: Python :: 3.11" ,
2222 " Programming Language :: Python :: 3.12" ,
2323 " Programming Language :: Python :: 3.13" ,
24- " Programming Language :: Python :: 3.14" ,
2524]
2625dependencies = [
2726 " adjusttext" ,
@@ -47,7 +46,7 @@ optional-dependencies.doc = [
4746 " pandas" ,
4847 # Until pybtex >0.24.0 releases: https://bitbucket.org/pybtex-devs/pybtex/issues/169/
4948 " setuptools" ,
50- " sphinx>=4 " ,
49+ " sphinx>=8.1 " ,
5150 " sphinx-autodoc-typehints" ,
5251 " sphinx-book-theme>=1" ,
5352 " sphinx-copybutton" ,
@@ -59,17 +58,20 @@ optional-dependencies.full = [
5958 " dcor" ,
6059 " igraph" ,
6160 " ipywidgets" ,
61+ " pydeseq2" ,
62+ " scanpy" ,
6263 " xgboost" ,
6364]
6465optional-dependencies.test = [
65- " coverage" ,
66+ " coverage>=7.10 " ,
6667 " dcor" ,
6768 " gseapy" ,
6869 " igraph" ,
6970 " ipywidgets" ,
7071 " memory-profiler" ,
7172 " pydeseq2" ,
7273 " pytest" ,
74+ " pytest-cov" , # For VS Code’s coverage functionality
7375 " scanpy" ,
7476 " statsmodels" ,
7577 " xgboost" ,
@@ -85,14 +87,29 @@ features = [ "dev" ]
8587
8688[tool .hatch .envs .docs ]
8789features = [ " doc" ]
88- scripts.build = " sphinx-build -M html docs docs/_build {args}"
90+ scripts.build = " sphinx-build -M html docs docs/_build -W {args}"
8991scripts.open = " python -m webbrowser -t docs/_build/html/index.html"
9092scripts.clean = " git clean -fdX -- {args:docs}"
9193
94+ # Test the lowest and highest supported Python versions with normal deps
9295[[tool .hatch .envs .hatch-test .matrix ]]
96+ deps = [ " stable" ]
9397python = [ " 3.10" , " 3.13" ]
98+
99+ # Test the newest supported Python version also with pre-release deps
100+ [[tool .hatch .envs .hatch-test .matrix ]]
101+ deps = [ " pre" ]
102+ python = [ " 3.13" ]
103+
94104[tool .hatch .envs .hatch-test ]
95- features = [ " test" ]
105+ features = [ " dev" , " test" ]
106+
107+ [tool .hatch .envs .hatch-test .overrides ]
108+ # If the matrix variable `deps` is set to "pre",
109+ # set the environment variable `UV_PRERELEASE` to "allow".
110+ matrix.deps.env-vars = [
111+ { key = " UV_PRERELEASE" , value = " allow" , if = [ " pre" ] },
112+ ]
96113
97114[tool .ruff ]
98115line-length = 120
@@ -143,6 +160,7 @@ addopts = [
143160
144161[tool .coverage .run ]
145162source = [ " decoupler" ]
163+ patch = [ " subprocess" ]
146164omit = [
147165 " **/test_*.py" ,
148166]
0 commit comments