@@ -31,7 +31,6 @@ dependencies = [
3131 " scikit-learn" ,
3232 " spatialdata>=0.3" ,
3333]
34-
3534urls.Documentation = " https://spatialdata.scverse.org/projects/plot/en/latest/index.html"
3635urls.Home-page = " https://github.com/scverse/spatialdata-plot.git"
3736urls.Source = " https://github.com/scverse/spatialdata-plot.git"
@@ -62,51 +61,29 @@ doc = [
6261 " sphinxext-opengraph" ,
6362]
6463
65- [tool .hatch .build .targets .wheel ]
66- packages = [ ' src/spatialdata_plot' ]
67-
68- [tool .hatch .version ]
69- source = " vcs"
70-
71- [tool .hatch .build .hooks .vcs ]
72- version-file = " _version.py"
73-
74- [tool .hatch .metadata ]
75- allow-direct-references = true
76-
77- [tool .hatch .envs .default ]
78- installer = " uv"
79- dependency-groups = [ " dev" ]
80-
81- [tool .hatch .envs .docs ]
82- dependency-groups = [ " doc" ]
83-
84- [tool .hatch .envs .docs .scripts ]
85- build = " sphinx-build -M html docs docs/_build -W {args}"
86- open = " python -m webbrowser -t docs/_build/html/index.html"
87- clean = " git clean -fdX -- {args:docs}"
88-
89- [tool .hatch .envs .hatch-test ]
90- dependency-groups = [ " test" ]
91-
92- [tool .hatch .envs .hatch-test .scripts ]
93- run = " pytest{env:HATCH_TEST_ARGS:} -p no:cov {args}"
94- run-cov = " coverage run -m pytest{env:HATCH_TEST_ARGS:} -p no:cov {args}"
95- cov-combine = " coverage combine"
96- cov-report = [ " coverage report" , " coverage xml -o coverage.xml" ]
97-
98- [[tool .hatch .envs .hatch-test .matrix ]]
99- deps = [ " stable" ]
100- python = [ " 3.11" , " 3.14" ]
101-
102- [[tool .hatch .envs .hatch-test .matrix ]]
103- deps = [ " pre" ]
104- python = [ " 3.14" ]
105-
106- [tool .hatch .envs .hatch-test .overrides ]
107- matrix.deps.env-vars = [
64+ [tool .hatch ]
65+ build.hooks.vcs.version-file = " _version.py"
66+ build.targets.wheel.packages = [ " src/spatialdata_plot" ]
67+ envs.default.installer = " uv"
68+ envs.default.dependency-groups = [ " dev" ]
69+ envs.docs.dependency-groups = [ " doc" ]
70+ envs.docs.scripts.build = " sphinx-build -M html docs docs/_build -W {args}"
71+ envs.docs.scripts.open = " python -m webbrowser -t docs/_build/html/index.html"
72+ envs.docs.scripts.clean = " git clean -fdX -- {args:docs}"
73+ envs.hatch-test.dependency-groups = [ " test" ]
74+ envs.hatch-test.matrix = [
75+ { deps = [ " stable" ], python = [ " 3.11" , " 3.14" ] },
76+ { deps = [ " pre" ], python = [ " 3.14" ] }
77+ ]
78+ envs.hatch-test.overrides.matrix.deps.env-vars = [
10879 { key = " UV_PRERELEASE" , value = " allow" , if = [ " pre" ] },
10980]
81+ envs.hatch-test.scripts.run = " pytest{env:HATCH_TEST_ARGS:} -p no:cov {args}"
82+ envs.hatch-test.scripts.run-cov = " coverage run -m pytest{env:HATCH_TEST_ARGS:} -p no:cov {args}"
83+ envs.hatch-test.scripts.cov-combine = " coverage combine"
84+ envs.hatch-test.scripts.cov-report = [ " coverage report" , " coverage xml -o coverage.xml" ]
85+ metadata.allow-direct-references = true
86+ version.source = " vcs"
11087
11188[tool .ruff ]
11289line-length = 120
@@ -154,42 +131,35 @@ lint.ignore = [
154131 # allow I, O, l as variable names -> I is the identity matrix, i, j, k, l is reasonable indexing notation
155132 " E741" ,
156133]
157-
158134lint.per-file-ignores."*/__init__.py" = [ " D104" , " D107" , " E402" , " F401" ]
159-
160135lint.per-file-ignores."docs/*" = [ " A" , " B" , " D" , " E" ]
161-
162136lint.per-file-ignores."src/spatialdata_plot/pl/utils.py" = [ " PGH003" ]
163-
164137lint.per-file-ignores."tests/*" = [ " B024" , " D" , " PT" ]
165-
166138lint.per-file-ignores."tests/conftest.py" = [ " E402" , " RET504" ]
167139lint.unfixable = [ " B" , " BLE" , " C4" , " RET" , " T20" , " UP" ]
168140lint.pydocstyle.convention = " numpy"
169141
170- [tool .pytest . ini_options ]
171- testpaths = [ " tests" ]
172- xfail_strict = true
173- addopts = [
174- # "-Werror", # if 3rd party libs raise DeprecationWarnings, just use filterwarnings below
142+ [tool .pytest ]
143+ ini_options. testpaths = [ " tests" ]
144+ ini_options. xfail_strict = true
145+ ini_options. addopts = [
146+ # "-Werror", # if 3rd party libs raise DeprecationWarnings, just use filterwarnings below
175147 " --import-mode=importlib" , # allow using test files with same name
176148 " -s" , # print output from tests
177149]
178150# info on how to use this https://stackoverflow.com/questions/57925071/how-do-i-avoid-getting-deprecationwarning-from-inside-dependencies-with-pytest
179- filterwarnings = [
180- # "ignore:.*U.*mode is deprecated:DeprecationWarning",
151+ ini_options. filterwarnings = [
152+ # "ignore:.*U.*mode is deprecated:DeprecationWarning",
181153]
182154
183- [tool .coverage .run ]
184- source = [ " spatialdata_plot" ]
185- branch = true
186- parallel = true
187- omit = [
155+ [tool .coverage ]
156+ run.branch = true
157+ run.omit = [
188158 " **/test_*.py" ,
189159]
190-
191- [ tool . coverage . paths ]
192- source = [
160+ run.parallel = true
161+ run.source = [ " spatialdata_plot " ]
162+ paths. source = [
193163 " src/spatialdata_plot" ,
194164 " */site-packages/spatialdata_plot" ,
195165]
@@ -209,39 +179,26 @@ skip = [
209179 " docs/notebooks/example.ipynb" ,
210180]
211181
212- [tool .pixi .workspace ]
213- channels = [ " conda-forge" ]
214- platforms = [ " osx-arm64" , " linux-64" ]
215-
216- [tool .pixi .dependencies ]
217- python = " >=3.11"
218-
219- [tool .pixi .pypi-dependencies ]
220- spatialdata-plot = { path = " ." , editable = true }
221-
222- # for gh-actions
223- [tool .pixi .feature .py311 .dependencies ]
224- python = " 3.11.*"
225-
226- [tool .pixi .feature .py313 .dependencies ]
227- python = " 3.13.*"
228-
229- [tool .pixi .environments ]
182+ [tool .pixi ]
183+ dependencies.python = " >=3.11"
230184# 3.11 lane (for gh-actions)
231- dev-py311 = { features = [ " dev" , " test" , " py311" ], solve-group = " py311" }
232- docs-py311 = { features = [ " doc" , " py311" ], solve-group = " py311" }
233-
185+ environments.dev-py311 = { features = [ " dev" , " test" , " py311" ], solve-group = " py311" }
186+ environments.docs-py311 = { features = [ " doc" , " py311" ], solve-group = " py311" }
234187# 3.13 lane
235- default = { features = [ " py313" ], solve-group = " py313" }
236- dev-py313 = { features = [ " dev" , " test" , " py313" ], solve-group = " py313" }
237- docs-py313 = { features = [ " doc" , " py313" ], solve-group = " py313" }
238- test-py313 = { features = [ " test" , " py313" ], solve-group = " py313" }
239-
240- [tool .pixi .tasks ]
241- lab = " jupyter lab"
242- kernel-install = " python -m ipykernel install --user --name pixi-dev --display-name \" sdata-plot (dev)\" "
243- test = " pytest -v --color=yes --tb=short --durations=10"
244- lint = " ruff check ."
245- format = " ruff format ."
246- pre-commit-install = " pre-commit install"
247- pre-commit-run = " pre-commit run --all-files"
188+ environments.default = { features = [ " py313" ], solve-group = " py313" }
189+ environments.dev-py313 = { features = [ " dev" , " test" , " py313" ], solve-group = " py313" }
190+ environments.docs-py313 = { features = [ " doc" , " py313" ], solve-group = " py313" }
191+ environments.test-py313 = { features = [ " test" , " py313" ], solve-group = " py313" }
192+ # for gh-actions
193+ feature.py311.dependencies.python = " 3.11.*"
194+ feature.py313.dependencies.python = " 3.13.*"
195+ pypi-dependencies.spatialdata-plot = { path = " ." , editable = true }
196+ tasks.lab = " jupyter lab"
197+ tasks.kernel-install = ' python -m ipykernel install --user --name pixi-dev --display-name "sdata-plot (dev)"'
198+ tasks.test = " pytest -v --color=yes --tb=short --durations=10"
199+ tasks.lint = " ruff check ."
200+ tasks.format = " ruff format ."
201+ tasks.pre-commit-install = " pre-commit install"
202+ tasks.pre-commit-run = " pre-commit run --all-files"
203+ workspace.channels = [ " conda-forge" ]
204+ workspace.platforms = [ " osx-arm64" , " linux-64" ]
0 commit comments