Skip to content

Commit e1e4515

Browse files
authored
⬆️ scikit-build-core 0.11, PEP 639 license expressions, sphinx fixes, more automerge (#847)
## Description This pull request introduces a series of improvements including enabling automerge for minor stable dependency updates and lockfile update pull requests. It also updates the lockfile, upgrades the `sphinx` and `scikit-build-core` dependencies, and improves compliance by utilizing PEP 639 license expressions. Additionally, it addresses issues with the docs nox session command sequence and introduces verbose logging for install commands. Fixes #None ## Checklist: - [x] The pull request only contains commits that are related to it. - [x] I have added appropriate tests and documentation. - [x] I have made sure that all CI jobs on GitHub pass. - [x] The pull request introduces no new warnings and follows the project's style guidelines
2 parents 02783e6 + 051d4db commit e1e4515

File tree

4 files changed

+224
-119
lines changed

4 files changed

+224
-119
lines changed

.github/renovate.json5

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
},
99
lockFileMaintenance: {
1010
"enabled": true,
11-
// "automerge": true, disabled due to endless update loops caused by setuptools_scm
11+
"automerge": true,
1212
},
1313
configMigration: true,
1414
labels: ["dependencies"],
@@ -30,9 +30,16 @@
3030
commitMessagePrefix: "⬆\uFE0F\uD83E\uDE9D",
3131
},
3232
{
33-
"description": "Automerge patch updates",
34-
"matchUpdateTypes": ["patch"],
35-
"automerge": true
33+
description: "Automerge patch updates",
34+
matchUpdateTypes: ["patch"],
35+
automerge: true
36+
},
37+
{
38+
description: "Automerge minor updates for stable dependencies",
39+
matchManagers: ["pep621", "pre-commit"],
40+
matchUpdateTypes: ["minor", "patch"],
41+
matchCurrentVersion: "!/^0/",
42+
automerge: true
3643
}
3744
]
3845
}

noxfile.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ def _run_tests(
6565
"build",
6666
"--only-group",
6767
"test",
68+
"--verbose",
6869
*install_args,
6970
env=env,
7071
)
@@ -74,6 +75,7 @@ def _run_tests(
7475
"--no-dev", # do not auto-install dev dependencies
7576
"--no-build-isolation-package",
7677
"mqt-core", # build the project without isolation
78+
"--verbose",
7779
*install_args,
7880
"pytest",
7981
*run_args,
@@ -113,6 +115,19 @@ def docs(session: nox.Session) -> None:
113115
if serve:
114116
session.install("sphinx-autobuild")
115117

118+
env = {"UV_PROJECT_ENVIRONMENT": session.virtualenv.location}
119+
# install build and docs dependencies on top of the existing environment
120+
session.run(
121+
"uv",
122+
"sync",
123+
"--inexact",
124+
"--only-group",
125+
"build",
126+
"--only-group",
127+
"docs",
128+
env=env,
129+
)
130+
116131
# build the C++ API docs using doxygen
117132
with session.chdir("docs"):
118133
if shutil.which("doxygen") is None:
@@ -133,19 +148,6 @@ def docs(session: nox.Session) -> None:
133148
external=True,
134149
)
135150

136-
env = {"UV_PROJECT_ENVIRONMENT": session.virtualenv.location}
137-
# install build and docs dependencies on top of the existing environment
138-
session.run(
139-
"uv",
140-
"sync",
141-
"--inexact",
142-
"--only-group",
143-
"build",
144-
"--only-group",
145-
"docs",
146-
env=env,
147-
)
148-
149151
shared_args = [
150152
"-n", # nitpicky mode
151153
"-T", # full tracebacks

pyproject.toml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["scikit-build-core>=0.10.7", "setuptools-scm>=8.1", "pybind11>=2.13.6"]
2+
requires = ["scikit-build-core>=0.11.0", "setuptools-scm>=8.1", "pybind11>=2.13.6"]
33
build-backend = "scikit_build_core.build"
44

55
[project]
@@ -10,12 +10,12 @@ authors = [
1010
{ name = "Lukas Burgholzer", email = "[email protected]" }
1111
]
1212
keywords = ["MQT", "quantum-computing", "design-automation", "decision-diagrams", "zx-calculus"]
13-
license = { file = "LICENSE.md" }
13+
license = "MIT"
14+
license-files = ["LICENSE.md"]
1415

1516
classifiers = [
1617
"Development Status :: 5 - Production/Stable",
1718
"Intended Audience :: Science/Research",
18-
"License :: OSI Approved :: MIT License",
1919
"Natural Language :: English",
2020
"Operating System :: MacOS",
2121
"Operating System :: Microsoft :: Windows",
@@ -281,7 +281,7 @@ mqt-core = { workspace = true }
281281
[dependency-groups]
282282
build = [
283283
"pybind11>=2.13.6",
284-
"scikit-build-core>=0.10.7",
284+
"scikit-build-core>=0.11.0",
285285
"setuptools-scm>=8.1",
286286
]
287287
docs = [
@@ -299,7 +299,9 @@ docs = [
299299
"openqasm-pygments>=0.1.2",
300300
"breathe>=4.36.0",
301301
"graphviz>=0.20.3",
302-
"sphinx>=7.4.7,<8.2", # due to https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter/issues/26
302+
"sphinx>=7.4.7",
303+
"sphinx>=8.1.3; python_version >= '3.10'",
304+
"sphinx>=8.2.3; python_version >= '3.11'",
303305
]
304306
test = [
305307
"pytest>=8.3.3",

0 commit comments

Comments
 (0)