@@ -45,7 +45,7 @@ optional-dependencies.doc = [
4545 " pandas" ,
4646 # Until pybtex >0.24.0 releases: https://bitbucket.org/pybtex-devs/pybtex/issues/169/
4747 " setuptools" ,
48- " sphinx<9" , # >=8.1
48+ " sphinx<9" , # >=8.1
4949 " sphinx-autodoc-typehints" ,
5050 " sphinx-book-theme>=1" ,
5151 " sphinx-copybutton" ,
@@ -71,43 +71,31 @@ urls.Documentation = "https://multigrate.readthedocs.io/"
7171urls.Homepage = " https://github.com/theislab/multigrate"
7272urls.Source = " https://github.com/theislab/multigrate"
7373
74- [tool .hatch .envs .default ]
75- installer = " uv"
76- features = [ " dev" ]
77-
78- [tool .hatch .envs .docs ]
79- features = [ " doc" ]
80- scripts.build = " sphinx-build -M html docs docs/_build -W {args}"
81- scripts.open = " python -m webbrowser -t docs/_build/html/index.html"
82- scripts.clean = " git clean -fdX -- {args:docs}"
83-
84- # Test the lowest and highest supported Python versions with normal deps
85- [[tool .hatch .envs .hatch-test .matrix ]]
86- deps = [ " stable" ]
87- python = [ " 3.10" , " 3.13" ]
88-
89- # Test the newest supported Python version also with pre-release deps
90- [[tool .hatch .envs .hatch-test .matrix ]]
91- deps = [ " pre" ]
92- python = [ " 3.13" ]
93-
94- [tool .hatch .envs .hatch-test ]
95- features = [ " dev" , " test" ]
96-
97- [tool .hatch .envs .hatch-test .overrides ]
74+ [tool .hatch ]
75+ envs.default.installer = " uv"
76+ envs.default.features = [ " dev" ]
77+ envs.docs.features = [ " doc" ]
78+ envs.docs.scripts.build = " sphinx-build -M html docs docs/_build -W {args}"
79+ envs.docs.scripts.open = " python -m webbrowser -t docs/_build/html/index.html"
80+ envs.docs.scripts.clean = " git clean -fdX -- {args:docs}"
81+ envs.hatch-test.features = [ " dev" , " test" ]
82+ envs.hatch-test.matrix = [
83+ # Test the lowest and highest supported Python versions with normal deps
84+ { deps = [ " stable" ], python = [ " 3.10" , " 3.13" ] },
85+ # Test the newest supported Python version also with pre-release deps
86+ { deps = [ " pre" ], python = [ " 3.13" ] },
87+ ]
9888# If the matrix variable `deps` is set to "pre",
9989# set the environment variable `UV_PRERELEASE` to "allow".
100- matrix.deps.env-vars = [
90+ envs.hatch-test.overrides. matrix.deps.env-vars = [
10191 { key = " UV_PRERELEASE" , value = " allow" , if = [ " pre" ] },
10292]
10393
10494[tool .ruff ]
10595line-length = 120
10696src = [ " src" ]
10797extend-include = [ " *.ipynb" ]
108-
10998format.docstring-code-format = true
110-
11199lint.select = [
112100 " B" , # flake8-bugbear
113101 " BLE" , # flake8-blind-except
@@ -141,19 +129,19 @@ lint.per-file-ignores."docs/*" = [ "I" ]
141129lint.per-file-ignores."tests/*" = [ " D" ]
142130lint.pydocstyle.convention = " numpy"
143131
144- [tool .pytest . ini_options ]
145- testpaths = [ " tests" ]
146- xfail_strict = true
147- addopts = [
132+ [tool .pytest ]
133+ ini_options. testpaths = [ " tests" ]
134+ ini_options. xfail_strict = true
135+ ini_options. addopts = [
148136 " --import-mode=importlib" , # allow using test files with same name
149137]
150138
151- [tool .coverage .run ]
152- source = [ " multigrate" ]
153- patch = [ " subprocess" ]
154- omit = [
139+ [tool .coverage ]
140+ run.omit = [
155141 " **/test_*.py" ,
156142]
143+ run.patch = [ " subprocess" ]
144+ run.source = [ " multigrate" ]
157145
158146[tool .cruft ]
159147skip = [
0 commit comments