@@ -55,42 +55,42 @@ dependencies = [
5555classifiers = [
5656 " Development Status :: 4 - Beta" ,
5757 " Intended Audience :: Developers" ,
58- " Operating System :: Microsoft :: Windows" ,
58+ " Intended Audience :: Science/Research" ,
59+ " Natural Language :: English" ,
5960 " Operating System :: MacOS" ,
61+ " Operating System :: Microsoft :: Windows" ,
6062 " Operating System :: POSIX :: Linux" ,
63+ " Programming Language :: Python" ,
6164 " Programming Language :: Python :: 3 :: Only" ,
6265 " Programming Language :: Python :: 3.10" ,
6366 " Programming Language :: Python :: 3.11" ,
6467 " Programming Language :: Python :: 3.12" ,
6568 " Programming Language :: Python :: 3.13" ,
66- " Programming Language :: Python :: 3.14" ,
67- " Intended Audience :: Science/Research" ,
68- " Natural Language :: English" ,
6969 " Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)" ,
70+ " Typing :: Typed" ,
7071]
7172
7273[dependency-groups ]
7374test = [
74- " pytest>=8.4 .1" ,
75- " pytest-cov>=6.2.1 " ,
75+ " pytest>=9.0 .1" ,
76+ " pytest-cov>=7.0.0 " ,
7677]
7778docs = [
78- " furo>=2024.8.6" ,
79- " myst-nb>=1.2.0" ,
80- " setuptools-scm>=8.3.1" ,
81- " sphinx-design>=0.6.1" ,
79+ " furo>=2025.09.25" ,
80+ " myst-nb>=1.3.0" ,
81+ " setuptools-scm>=9.2.2" ,
82+ " sphinx>=8.1.3" ,
83+ " sphinx>=8.2.3; python_version >= '3.11'" ,
8284 " sphinx-autoapi>=3.6.0" ,
8385 " sphinx-copybutton>=0.5.2" ,
86+ " sphinx-design>=0.6.1" ,
8487 " sphinxcontrib-bibtex>=2.6.5" ,
8588 " sphinxcontrib-svg2pdfconverter>=1.3.0" ,
86- " sphinxext-opengraph>=0.10.0" ,
87- " sphinx>=7.4.7" ,
88- " sphinx>=8.1.3; python_version >= '3.10'" ,
89- " sphinx>=8.2.3; python_version >= '3.11'" ,
89+ " sphinxext-opengraph>=0.13.0" ,
9090]
9191dev = [
92- {include-group = " test" },
93- { include-group = " docs " } ,
92+ {include-group = " test" },
93+ " nox>=2025.11.12 " ,
9494]
9595
9696[project .urls ]
@@ -109,17 +109,15 @@ source = "vcs"
109109version-file = " src/mqt/predictor/_version.py"
110110
111111
112- [tool .pytest .ini_options ]
113- minversion = " 7.2"
114- testpaths = [" tests/" ]
112+ [tool .pytest ]
113+ minversion = " 9.0"
114+ testpaths = [" tests" ]
115+ strict = true
115116addopts = [
116117 " -ra" ,
117- " --strict-markers" ,
118- " --strict-config" ,
119118 " --showlocals" ,
120119]
121120log_level = " INFO"
122- xfail_strict = true
123121filterwarnings = [
124122 ' error' ,
125123 ' ignore:.*pytorch.*:UserWarning:' ,
@@ -135,6 +133,7 @@ filterwarnings = [
135133
136134]
137135
136+
138137[tool .coverage ]
139138run.source = [" mqt.predictor" ]
140139report.exclude_also = [
@@ -146,11 +145,11 @@ report.exclude_also = [
146145run.disable_warnings = [
147146 " no-sysmon" ,
148147]
149-
150148show_missing = true
151149skip_empty = true
152150precision = 1
153151
152+
154153[tool .mypy ]
155154mypy_path = " $MYPY_CONFIG_FILE_DIR/src"
156155files = [" src" , " tests" ]
@@ -173,19 +172,25 @@ implicit_reexport = true
173172module = [" qiskit.*" , " joblib.*" , " sklearn.*" , " matplotlib.*" , " gymnasium.*" , " mqt.bench.*" , " sb3_contrib.*" , " bqskit.*" , " qiskit_ibm_runtime.*" , " networkx.*" , " stable_baselines3.*" ," qiskit_ibm_transpiler.*" ]
174173ignore_missing_imports = true
175174
175+
176176[tool .ruff ]
177177line-length = 120
178- extend-include = [" *.ipynb " ]
178+ namespace-packages = [" mqt " ]
179179preview = true
180+ fix = true
180181unsafe-fixes = true
182+ show-fixes = true
183+
184+ [tool .ruff .format ]
185+ docstring-code-format = true
181186
182187[tool .ruff .lint ]
183188extend-select = [
184189 " A" , # flake8-builtins
185190 " ANN" , # flake8-annotations
186191 " ARG" , # flake8-unused-arguments
187192 " ASYNC" , # flake8-async
188- " B" , " B904 " , # flake8-bugbear
193+ " B" , # flake8-bugbear
189194 " C4" , # flake8-comprehensions
190195 " D" , # pydocstyle
191196 " EM" , # flake8-errmsg
@@ -220,9 +225,8 @@ extend-select = [
220225 " YTT" , # flake8-2020
221226]
222227ignore = [
223- " ISC001" , # Conflicts with formatter
224228 " E501" , # Line too long (Black is enough)
225- " PLR" , # Design related pylint codes
229+ " PLR" , # Design- related pylint codes
226230 " S101" , # Use of assert detected
227231]
228232flake8-unused-arguments.ignore-variadic-names = true
@@ -249,12 +253,14 @@ default.extend-ignore-re = [
249253 " (?Rm)^.*(#|//)\\ s*spellchecker:disable-line$" , # ignore line
250254 " (?s)(#|//)\\ s*spellchecker:off.*?\\ n\\ s*(#|//)\\ s*spellchecker:on" # ignore block
251255]
256+
252257[tool .typos .default .extend-words ]
253258wille = " wille"
254259anc = " anc"
255260aer = " aer"
256261fom = " fom"
257262
263+
258264[tool .repo-review ]
259265ignore = [" GH200" ]
260266
0 commit comments