Skip to content

Commit 2bea355

Browse files
committed
Improve optional deps
1 parent 8af2f48 commit 2bea355

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

doc/install.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,12 @@ pip install fluidimage
3838
Fluidimage has 2 sets of optional dependencies, which can be installed with commands like
3939
`pip install fluidimage[opencv]` or `pip install fluidimage[opencv, pims]`:
4040

41+
- `test`: dependencies necessary to run the tests, with commands like `pytest --pyargs fluidimage`.
4142
- `opencv`: [OpenCV](https://opencv.org/) can be used for some algorithms,
4243
- `pims`: [pims: Python Image Sequence](https://github.com/soft-matter/pims) is used to
4344
read `.cine` files.
45+
- `graph`: gprof2dot.
46+
- `all`: install all optional deps.
4447

4548
## Install the conda-forge package with conda or mamba
4649

noxfile.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def __call__(self, task: str):
5858
def test(session, cov, with_opencv):
5959
"""Execute unit-tests using pytest"""
6060

61-
command = "pdm sync --clean -G test --no-self"
61+
command = "pdm sync --clean -G coverage --no-self"
6262
if with_opencv:
6363
command += " -G opencv"
6464

@@ -93,7 +93,7 @@ def test(session, cov, with_opencv):
9393
def test_examples(session):
9494
"""Execute the examples using pytest"""
9595

96-
command = "pdm sync --clean -G test --no-self"
96+
command = "pdm sync --clean -G coverage --no-self"
9797
session.run_always(*command.split(), external=True)
9898

9999
session.install(".", "--no-deps")

pylock.toml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ requires-python = ">=3.11"
55
environments = [
66
"python_version >= \"3.11\"",
77
]
8-
extras = ["all", "graph", "opencv", "pims", "pytest"]
9-
dependency-groups = ["default", "build", "dev", "dev-doc", "doc", "test"]
8+
extras = ["all", "graph", "opencv", "pims", "test"]
9+
dependency-groups = ["default", "build", "coverage", "dev", "dev-doc", "doc"]
1010
default-groups = ["default"]
1111
created-by = "pdm"
1212

@@ -509,7 +509,7 @@ wheels = [
509509
{name = "coverage-7.11.0-cp311-cp311-win_arm64.whl",url = "https://files.pythonhosted.org/packages/03/21/5ce8b3a0133179115af4c041abf2ee652395837cb896614beb8ce8ddcfd9/coverage-7.11.0-cp311-cp311-win_arm64.whl",hashes = {sha256 = "5693e57a065760dcbeb292d60cc4d0231a6d4b6b6f6a3191561e1d5e8820b745"}},
510510
{name = "coverage-7.11.0-py3-none-any.whl",url = "https://files.pythonhosted.org/packages/5f/04/642c1d8a448ae5ea1369eac8495740a79eb4e581a9fb0cbdce56bbf56da1/coverage-7.11.0-py3-none-any.whl",hashes = {sha256 = "4b7589765348d78fb4e5fb6ea35d07564e387da2fc5efff62e0222971f155f68"}},
511511
]
512-
marker = "\"test\" in dependency_groups"
512+
marker = "\"coverage\" in dependency_groups"
513513

514514
[packages.tool.pdm]
515515
dependencies = []
@@ -1073,7 +1073,7 @@ sdist = {name = "pytest-8.4.2.tar.gz", url = "https://files.pythonhosted.org/pac
10731073
wheels = [
10741074
{name = "pytest-8.4.2-py3-none-any.whl",url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl",hashes = {sha256 = "872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79"}},
10751075
]
1076-
marker = "\"all\" in extras or \"pytest\" in extras or \"test\" in dependency_groups"
1076+
marker = "\"all\" in extras or \"coverage\" in dependency_groups or \"test\" in extras"
10771077

10781078
[packages.tool.pdm]
10791079
dependencies = [
@@ -1094,7 +1094,7 @@ sdist = {name = "pytest_asyncio-1.2.0.tar.gz", url = "https://files.pythonhosted
10941094
wheels = [
10951095
{name = "pytest_asyncio-1.2.0-py3-none-any.whl",url = "https://files.pythonhosted.org/packages/04/93/2fa34714b7a4ae72f2f8dad66ba17dd9a2c793220719e736dda28b7aec27/pytest_asyncio-1.2.0-py3-none-any.whl",hashes = {sha256 = "8e17ae5e46d8e7efe51ab6494dd2010f4ca8dae51652aa3c8d55acf50bfb2e99"}},
10961096
]
1097-
marker = "\"all\" in extras or \"pytest\" in extras or \"test\" in dependency_groups"
1097+
marker = "\"all\" in extras or \"coverage\" in dependency_groups or \"test\" in extras"
10981098

10991099
[packages.tool.pdm]
11001100
dependencies = [
@@ -1111,7 +1111,7 @@ sdist = {name = "pytest_cov-7.0.0.tar.gz", url = "https://files.pythonhosted.org
11111111
wheels = [
11121112
{name = "pytest_cov-7.0.0-py3-none-any.whl",url = "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl",hashes = {sha256 = "3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861"}},
11131113
]
1114-
marker = "\"test\" in dependency_groups"
1114+
marker = "\"coverage\" in dependency_groups"
11151115

11161116
[packages.tool.pdm]
11171117
dependencies = [
@@ -1204,7 +1204,7 @@ sdist = {name = "pygments-2.19.2.tar.gz", url = "https://files.pythonhosted.org/
12041204
wheels = [
12051205
{name = "pygments-2.19.2-py3-none-any.whl",url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl",hashes = {sha256 = "86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b"}},
12061206
]
1207-
marker = "\"default\" in dependency_groups or \"all\" in extras or \"dev\" in dependency_groups or \"dev-doc\" in dependency_groups or \"doc\" in dependency_groups or \"pytest\" in extras or \"test\" in dependency_groups"
1207+
marker = "\"default\" in dependency_groups or \"all\" in extras or \"coverage\" in dependency_groups or \"dev\" in dependency_groups or \"dev-doc\" in dependency_groups or \"doc\" in dependency_groups or \"test\" in extras"
12081208

12091209
[packages.tool.pdm]
12101210
dependencies = []
@@ -1217,7 +1217,7 @@ sdist = {name = "packaging-25.0.tar.gz", url = "https://files.pythonhosted.org/p
12171217
wheels = [
12181218
{name = "packaging-25.0-py3-none-any.whl",url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl",hashes = {sha256 = "29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}},
12191219
]
1220-
marker = "\"default\" in dependency_groups or \"all\" in extras or \"build\" in dependency_groups or \"dev\" in dependency_groups or \"dev-doc\" in dependency_groups or \"doc\" in dependency_groups or \"pims\" in extras or \"pytest\" in extras or \"test\" in dependency_groups"
1220+
marker = "\"default\" in dependency_groups or \"all\" in extras or \"build\" in dependency_groups or \"coverage\" in dependency_groups or \"dev\" in dependency_groups or \"dev-doc\" in dependency_groups or \"doc\" in dependency_groups or \"pims\" in extras or \"test\" in extras"
12211221

12221222
[packages.tool.pdm]
12231223
dependencies = []
@@ -1230,7 +1230,7 @@ sdist = {name = "typing_extensions-4.15.0.tar.gz", url = "https://files.pythonho
12301230
wheels = [
12311231
{name = "typing_extensions-4.15.0-py3-none-any.whl",url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl",hashes = {sha256 = "f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}},
12321232
]
1233-
marker = "\"default\" in dependency_groups or \"all\" in extras or \"dev\" in dependency_groups or \"dev-doc\" in dependency_groups or \"doc\" in dependency_groups or \"pytest\" in extras or \"test\" in dependency_groups"
1233+
marker = "\"default\" in dependency_groups or \"all\" in extras or \"coverage\" in dependency_groups or \"dev\" in dependency_groups or \"dev-doc\" in dependency_groups or \"doc\" in dependency_groups or \"test\" in extras"
12341234

12351235
[packages.tool.pdm]
12361236
dependencies = []
@@ -1304,7 +1304,7 @@ sdist = {name = "colorama-0.4.6.tar.gz", url = "https://files.pythonhosted.org/p
13041304
wheels = [
13051305
{name = "colorama-0.4.6-py2.py3-none-any.whl",url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl",hashes = {sha256 = "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}},
13061306
]
1307-
marker = "sys_platform == \"win32\" and \"default\" in dependency_groups or sys_platform == \"win32\" and \"all\" in extras or sys_platform == \"win32\" and \"dev\" in dependency_groups or sys_platform == \"win32\" and \"dev-doc\" in dependency_groups or sys_platform == \"win32\" and \"doc\" in dependency_groups or sys_platform == \"win32\" and \"pytest\" in extras or sys_platform == \"win32\" and \"test\" in dependency_groups or platform_system == \"Windows\" and \"default\" in dependency_groups or platform_system == \"Windows\" and \"all\" in extras or platform_system == \"Windows\" and \"dev\" in dependency_groups or platform_system == \"Windows\" and \"dev-doc\" in dependency_groups or platform_system == \"Windows\" and \"doc\" in dependency_groups or platform_system == \"Windows\" and \"pytest\" in extras or platform_system == \"Windows\" and \"test\" in dependency_groups"
1307+
marker = "sys_platform == \"win32\" and \"default\" in dependency_groups or sys_platform == \"win32\" and \"all\" in extras or sys_platform == \"win32\" and \"coverage\" in dependency_groups or sys_platform == \"win32\" and \"dev\" in dependency_groups or sys_platform == \"win32\" and \"dev-doc\" in dependency_groups or sys_platform == \"win32\" and \"doc\" in dependency_groups or sys_platform == \"win32\" and \"test\" in extras or platform_system == \"Windows\" and \"default\" in dependency_groups or platform_system == \"Windows\" and \"all\" in extras or platform_system == \"Windows\" and \"coverage\" in dependency_groups or platform_system == \"Windows\" and \"dev\" in dependency_groups or platform_system == \"Windows\" and \"dev-doc\" in dependency_groups or platform_system == \"Windows\" and \"doc\" in dependency_groups or platform_system == \"Windows\" and \"test\" in extras"
13081308

13091309
[packages.tool.pdm]
13101310
dependencies = []
@@ -1436,7 +1436,7 @@ sdist = {name = "pluggy-1.6.0.tar.gz", url = "https://files.pythonhosted.org/pac
14361436
wheels = [
14371437
{name = "pluggy-1.6.0-py3-none-any.whl",url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl",hashes = {sha256 = "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}},
14381438
]
1439-
marker = "\"all\" in extras or \"pytest\" in extras or \"test\" in dependency_groups"
1439+
marker = "\"all\" in extras or \"coverage\" in dependency_groups or \"test\" in extras"
14401440

14411441
[packages.tool.pdm]
14421442
dependencies = []
@@ -3023,7 +3023,7 @@ sdist = {name = "iniconfig-2.3.0.tar.gz", url = "https://files.pythonhosted.org/
30233023
wheels = [
30243024
{name = "iniconfig-2.3.0-py3-none-any.whl",url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl",hashes = {sha256 = "f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12"}},
30253025
]
3026-
marker = "\"all\" in extras or \"pytest\" in extras or \"test\" in dependency_groups"
3026+
marker = "\"all\" in extras or \"coverage\" in dependency_groups or \"test\" in extras"
30273027

30283028
[packages.tool.pdm]
30293029
dependencies = []
@@ -5004,7 +5004,7 @@ marker = "\"dev-doc\" in dependency_groups"
50045004
dependencies = []
50055005

50065006
[tool.pdm]
5007-
hashes = {sha256 = "070fde1ebd1b5c8a3ca4fd6dba11afd92c3a78a695bcd631fa6c8a522fac2641"}
5007+
hashes = {sha256 = "5bd1adf78111645d2ef828fb231c10fd5bda6f4cc25cabbaf11187415bcc6ef0"}
50085008
strategy = ["inherit_metadata", "static_urls"]
50095009

50105010
[[tool.pdm.targets]]

pyproject.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ fluidimage-mean = "fluidimage.topologies.mean:main"
6767
pims = ["pims"]
6868
opencv = ["opencv-python"]
6969
graph = ["gprof2dot"]
70-
pytest = ["pytest", "pytest-asyncio"]
71-
all = ["fluidimage[pims, opencv, graph, pytest]"]
70+
test = ["pytest", "pytest-asyncio"]
71+
all = ["fluidimage[pims, opencv, graph, test]"]
7272
# qt = ["PySide6"]
7373

7474
[project.entry-points."fluidimage.executors"]
@@ -117,12 +117,11 @@ dev-doc = [
117117
# cannot lock with this (2024-07)
118118
# "mdformat-myst"
119119
]
120-
test = [
120+
coverage = [
121121
"pytest",
122122
"coverage",
123123
"pytest-cov",
124124
"pytest-asyncio",
125-
"fluidimage"
126125
]
127126
# test-qt = ["pytest-qt"]
128127

0 commit comments

Comments
 (0)