Skip to content

Commit d53b97b

Browse files
committed
Run pyproject pre-commit hook
1 parent df89e7e commit d53b97b

File tree

1 file changed

+49
-36
lines changed

1 file changed

+49
-36
lines changed

pyproject.toml

Lines changed: 49 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ description = "PySide6-based GUI to run real time DeepLabCut experiments"
88
readme = "README.md"
99
keywords = [ "deep learning", "deeplabcut", "gui", "pose estimation", "real-time" ]
1010
license-files = [ "LICENSE" ]
11-
authors = [ { name = "A. & M. Mathis Labs", email = "adim@deeplabcut.org" } ]
12-
requires-python = ">=3.10,<3.13"
11+
requires-python = ">=3.10" # don' forget to update tool.pyproject-fmt if this changes
1312
classifiers = [
1413
"Development Status :: 4 - Beta",
1514
"Environment :: X11 Applications :: Qt",
@@ -34,35 +33,41 @@ dependencies = [
3433
"qdarkstyle",
3534
"vidgear[core]",
3635
]
37-
optional-dependencies.all = [ "harvesters", "pypylon" ]
38-
optional-dependencies.basler = [ "pypylon" ]
39-
optional-dependencies.dev = [
36+
[[project.authors]]
37+
name = "A. & M. Mathis Labs"
38+
email = "adim@deeplabcut.org"
39+
[project.optional-dependencies]
40+
all = [ "harvesters", "pypylon" ]
41+
basler = [ "pypylon" ]
42+
dev = [
4043
"hypothesis>=6",
4144
"pre-commit",
4245
"pytest>=7",
4346
"pytest-cov>=4",
4447
"pytest-mock>=3.10",
4548
"pytest-qt>=4.2",
4649
]
47-
optional-dependencies.gentl = [ "harvesters" ]
48-
optional-dependencies.pytorch = [
50+
gentl = [ "harvesters" ]
51+
pytorch = [
4952
"deeplabcut-live[pytorch]>=2", # this includes timm and scipy
5053
]
51-
optional-dependencies.test = [
54+
test = [
5255
"hypothesis>=6",
5356
"pytest>=7",
5457
"pytest-cov>=4",
5558
"pytest-mock>=3.10",
5659
"pytest-qt>=4.2",
5760
]
58-
optional-dependencies.tf = [
61+
tf = [
5962
"deeplabcut-live[tf]>=2",
6063
]
61-
urls."Bug Tracker" = "https://github.com/DeepLabCut/DeepLabCut-live-GUI/issues"
62-
urls.Documentation = "https://github.com/DeepLabCut/DeepLabCut-live-GUI"
63-
urls.Homepage = "https://github.com/DeepLabCut/DeepLabCut-live-GUI"
64-
urls.Repository = "https://github.com/DeepLabCut/DeepLabCut-live-GUI"
65-
scripts.dlclivegui = "dlclivegui:main"
64+
[project.scripts]
65+
dlclivegui = "dlclivegui:main"
66+
[project.urls]
67+
"Bug Tracker" = "https://github.com/DeepLabCut/DeepLabCut-live-GUI/issues"
68+
Documentation = "https://github.com/DeepLabCut/DeepLabCut-live-GUI"
69+
Homepage = "https://github.com/DeepLabCut/DeepLabCut-live-GUI"
70+
Repository = "https://github.com/DeepLabCut/DeepLabCut-live-GUI"
6671

6772
[tool.setuptools]
6873
# [tool.setuptools]
@@ -72,36 +77,42 @@ scripts.dlclivegui = "dlclivegui:main"
7277
# This is more granular and explicit than include-package-data,
7378

7479
# which can be too broad and include unwanted files.
75-
76-
package-data."dlclivegui.assets" = [ "*.png" ]
77-
packages.find.where = [ "." ]
78-
packages.find.include = [ "dlclivegui*" ]
79-
packages.find.exclude = [ "tests*", "docs*" ]
80+
[tool.setuptools.package-data]
81+
"dlclivegui.assets" = [ "*.png" ]
82+
[tool.setuptools.packages]
83+
find.where = [ "." ]
84+
find.include = [ "dlclivegui*" ]
85+
find.exclude = [ "tests*", "docs*" ]
8086

8187
[tool.ruff]
8288
target-version = "py310"
8389
line-length = 120
8490
fix = true
85-
lint.select = [ "B", "E", "F", "I", "UP" ]
86-
lint.ignore = [ "E741" ]
91+
[tool.ruff.lint]
92+
select = [ "B", "E", "F", "I", "UP" ]
93+
ignore = [ "E741" ]
8794

8895
[tool.pyproject-fmt]
89-
generate-python-classifiers = false
96+
max_supported_python = "3.12"
97+
generate_python_version_classifiers = true
98+
# Avoid collapsing tables to field.key = value format (less readable)
99+
table_format = "long"
90100

91101
[tool.pytest]
92-
ini_options.testpaths = [ "tests" ]
93-
ini_options.python_files = [ "test_*.py" ]
94-
ini_options.python_classes = [ "Test*" ]
95-
ini_options.python_functions = [ "test_*" ]
96-
ini_options.addopts = [
102+
[tool.pytest.ini_options]
103+
testpaths = [ "tests" ]
104+
python_files = [ "test_*.py" ]
105+
python_classes = [ "Test*" ]
106+
python_functions = [ "test_*" ]
107+
addopts = [
97108
"--strict-markers",
98109
"--strict-config",
99110
"--disable-warnings",
100111
# "--maxfail=1",
101112
"-ra",
102113
"-q",
103114
]
104-
ini_options.markers = [
115+
markers = [
105116
"unit: Unit tests for individual components",
106117
"integration: Integration tests for component interaction",
107118
"functional: Functional tests for end-to-end workflows",
@@ -111,13 +122,8 @@ ini_options.markers = [
111122
]
112123

113124
[tool.coverage]
114-
run.branch = true
115-
run.omit = [
116-
"*/__pycache__/*",
117-
"*/site-packages/*",
118-
]
119-
run.source = [ "dlclivegui", "tests" ]
120-
report.exclude_lines = [
125+
[tool.coverage.report]
126+
exclude_lines = [
121127
"@abstract",
122128
"def __repr__",
123129
"if __name__ == .__main__.:",
@@ -126,6 +132,13 @@ report.exclude_lines = [
126132
"raise AssertionError",
127133
"raise NotImplementedError",
128134
]
129-
report.omit = [
135+
omit = [
130136
"tests/*",
131137
]
138+
[tool.coverage.run]
139+
branch = true
140+
omit = [
141+
"*/__pycache__/*",
142+
"*/site-packages/*",
143+
]
144+
source = [ "dlclivegui", "tests" ]

0 commit comments

Comments
 (0)