11[project ]
22name = " clinical-dbs-annotator"
3- version = " 0.1.0"
4- description = " A PyQt5-based tool for annotating DBS clinical programming sessions"
3+ description = " A graphical user interface for annotating DBS clinical programming sessions"
54readme = " README.md"
6- requires-python = " >=3.11"
5+ requires-python = " >=3.11,<3.14 "
76authors = [
87 { name = " Lucia Poma" , email = " lpoma@mgh.harvard.edu" }
98]
109keywords = [" dbs" , " clinical" , " annotation" , " neuroscience" , " deep-brain-stimulation" ]
10+ dynamic = [" version" ]
1111classifiers = [
1212 " Development Status :: 4 - Beta" ,
1313 " Intended Audience :: Healthcare Industry" ,
@@ -16,14 +16,14 @@ classifiers = [
1616 " Programming Language :: Python :: 3" ,
1717 " Programming Language :: Python :: 3.11" ,
1818 " Programming Language :: Python :: 3.12" ,
19+ " Programming Language :: Python :: 3.13" ,
1920 " License :: OSI Approved :: MIT License" ,
2021 " Environment :: X11 Applications :: Qt" ,
2122 " Operating System :: OS Independent" ,
2223]
23-
2424dependencies = [
25- " pyqt5==5.15.10 " ,
26- " pyqt5-qt5= =5.15.2" ,
25+ " pyqt5" ,
26+ " pyqt5-qt5< =5.15.2" ,
2727 " pytz>=2025.2" ,
2828 " pandas>=2.1" ,
2929 " python-docx>=1.1" ,
@@ -32,12 +32,11 @@ dependencies = [
3232 " pyqtgraph>=0.14.0" ,
3333]
3434
35- [project . optional-dependencies ]
35+ [dependency-groups ]
3636dev = [
3737 " pytest>=8.0.0" ,
3838 " pytest-qt>=4.4.0" ,
3939 " pytest-cov>=4.1.0" ,
40- " black>=24.0.0" ,
4140 " ruff>=0.1.0" ,
4241 # "mypy>=1.8.0",
4342 " pre-commit>=3.6" ,
@@ -47,7 +46,10 @@ build = [
4746 " opencv-python-headless>=4.12.0.88" ,
4847 " nuitka>=4.0.7" ,
4948]
50- docs = [" sphinx" , " sphinx-rtd-theme" ]
49+ docs = [
50+ " sphinx" ,
51+ " sphinx-rtd-theme" ,
52+ ]
5153
5254[project .scripts ]
5355clinical-dbs-annotator = " clinical_dbs_annotator.__main__:main"
@@ -61,6 +63,9 @@ Documentation = "https://github.com/bml/clinical-dbs-annotator/blob/main/README.
6163requires = [" hatchling" ]
6264build-backend = " hatchling.build"
6365
66+ [tool .hatch .version ]
67+ path = " src/clinical_dbs_annotator/__init__.py"
68+
6469[tool .hatch .build .targets .wheel ]
6570packages = [" src/clinical_dbs_annotator" ]
6671
@@ -76,25 +81,19 @@ addopts = [
7681 " --cov-report=term-missing" ,
7782]
7883
79- [tool .black ]
80- line-length = 88
81- target-version = [" py311" ]
82- include = ' \.pyi?$'
83- extend-exclude = '''
84- /(
85- # directories
86- \.eggs
87- | \.git
88- | \.hatch
89- | \.venv
90- | build
91- | dist
92- )/
93- '''
94-
9584[tool .ruff ]
9685line-length = 88
9786target-version = " py311"
87+ extend-exclude = [
88+ " .eggs" ,
89+ " .git" ,
90+ " .hatch" ,
91+ " .venv" ,
92+ " build" ,
93+ " dist" ,
94+ ]
95+
96+ [tool .ruff .lint ]
9897select = [
9998 " E" , # pycodestyle errors
10099 " W" , # pycodestyle warnings
@@ -106,7 +105,7 @@ select = [
106105 " C4" , # flake8-comprehensions
107106]
108107ignore = [
109- " E501" , # line too long (handled by black )
108+ " E501" , # line too long (handled by formatter/line-length )
110109]
111110
112111[tool .mypy ]
@@ -125,8 +124,3 @@ strict_optional = true
125124[[tool .mypy .overrides ]]
126125module = " PyQt5.*"
127126ignore_missing_imports = true
128-
129- [dependency-groups ]
130- dev = [
131- " pyinstaller>=6.15.0" ,
132- ]
0 commit comments