-
Notifications
You must be signed in to change notification settings - Fork 42
Expand file tree
/
Copy pathpyproject.toml
More file actions
128 lines (109 loc) · 3.17 KB
/
pyproject.toml
File metadata and controls
128 lines (109 loc) · 3.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
[build-system]
requires = ["setuptools >= 77.0.3"]
build-backend = "setuptools.build_meta"
[project]
name = "panseg"
version = "2.0.0"
authors = [
{ name = "Qin Yu", email = "qin.yu@embl.de" },
{ name = "Lorenzo Cerrone", email = "lorenzo.cerrone@uzh.ch" },
{ name = "Adrian Wolny" },
]
maintainers = [
{ name = "Kai Riedmiller", email = "kai.riedmiller@iwr.uni-heidelberg.de" },
]
description = "Image segmentation software in 2D and 3D"
readme = "README.md"
classifiers = [
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
]
requires-python = ">=3.11"
dependencies = []
[project.optional-dependencies]
dev = [
"ruff",
"pytest",
"pytest-qt",
"pytest-mock",
"pytest-cov",
"requests-mock",
"pre-commit",
"bump-my-version",
]
docs = [
"mkdocs-material",
"mkdocs-autorefs",
"mkdocs-git-revision-date-localized-plugin",
"mkdocs-git-committers-plugin-2",
"mkdocstrings-python",
]
[project.urls]
Homepage = "https://kreshuklab.github.io/panseg/"
[project.scripts]
panseg = "panseg.run_panseg:main"
# Tools
[tool.typos.default.extend-words]
nd = "nd" # N-dimensional (ND)
ome = "ome" # Open Microscopy Environment (OME)
datas = "datas" # pyinstaller
[tool.typos.files]
extend-exclude = ["tests/**", "panseg/**", "examples/**", "*.yml", "*.yaml"]
[tool.ruff.lint]
extend-select = ["I"]
[tool.coverage.run]
[tool.coverage.report]
# Regexes for lines to exclude from consideration
exclude_also = [
# Don't complain if tests don't hit defensive assertion code:
"raise AssertionError",
"raise NotImplementedError",
# Don't complain if non-runnable code isn't run:
"if 0:",
"if __name__ == .__main__.:",
# Don't complain about abstract methods, they aren't run:
"@(abc\\.)?abstractmethod",
]
source = ["panseg/"]
omit = ["/tmp/*"]
[tool.bumpversion]
current_version = "2.0.0"
parse = """(?x)
(?P<major>[0-9]+) # Major version
\\.(?P<minor>[0-9]+) # Minor version
\\.(?P<patch>[0-9]+) # Patch version
(?:
(?P<pre_label>a|b|rc) # Pre-release label (alpha, beta, release candidate)
(?P<pre_n>[0-9]+) # Pre-release number (0, 1, 2, etc.)
)?
"""
serialize = [
"{major}.{minor}.{patch}{pre_label}{pre_n}", # Pre-release format: 2.0.0a0
"{major}.{minor}.{patch}", # Stable version format: 2.0.0
]
search = "{current_version}"
replace = "{new_version}"
tag = true
tag_name = "{new_version}"
tag_message = "Bump version: {current_version} → {new_version}"
commit = true
allow_dirty = false
commit_args = "--no-verify"
message = "ci(bump-my-version): {current_version} → {new_version}"
setup_hooks = [
"git config --global user.email \"bump-my-version@github.actions\"",
"git config --global user.name \"bump-my-version\"",
]
[tool.bumpversion.parts.pre_label]
optional_value = "stable"
values = ["a", "b", "rc", "stable"]
[[tool.bumpversion.files]]
filename = "panseg/__version__.py"
[[tool.bumpversion.files]]
filename = "constructor/construct.yaml"
[[tool.bumpversion.files]]
filename = "conda-recipe/meta.yaml"
[tool.pytest.ini_options]
markers = ["slow: marks tests as slow to run"]
addopts = "-m 'not slow'"
testpaths = ["tests"]