Skip to content

Commit

Permalink
⬆️ scikit-build-core 0.11, PEP 639 license expressions, sphinx fixes,…
Browse files Browse the repository at this point in the history
… more automerge (#604)

## Description

This pull request introduces the following changes:
- Enabled automerge for minor version updates of stable dependencies and
lockfile update PRs to streamline dependency management.
- Updated the lockfile to reflect the latest dependency resolutions.
- Upgraded the Sphinx dependency for documentation to ensure
compatibility.
- Adopted PEP 639 license expressions for uniformity and compliance.
- Updated to `scikit-build-core` version 0.11 for improved build
performance and new features.
- Enabled verbose logging for install commands to aid in debugging and
transparency.
- Updated the pre-commit checks and applied the corresponding
suggestions.

## 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
  • Loading branch information
burgholzer authored Mar 3, 2025
2 parents 76aab5f + 2b9fd7c commit 2460d5a
Show file tree
Hide file tree
Showing 6 changed files with 160 additions and 107 deletions.
17 changes: 12 additions & 5 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
enabled: true
},
lockFileMaintenance: {
"enabled": true,
// "automerge": true, disabled due to endless update loops caused by setuptools_scm
enabled: true,
automerge: true
},
configMigration: true,
labels: ["dependencies"],
Expand All @@ -30,9 +30,16 @@
commitMessagePrefix: "⬆\uFE0F\uD83E\uDE9D",
},
{
"description": "Automerge patch updates",
"matchUpdateTypes": ["patch"],
"automerge": true
description: "Automerge patch updates",
matchUpdateTypes: ["patch"],
automerge: true
},
{
description: "Automerge minor updates for stable dependencies",
matchManagers: ["pep621", "pre-commit"],
matchUpdateTypes: ["minor", "patch"],
matchCurrentVersion: "!/^0/",
automerge: true
}
]
}
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ repos:

# Python linting using ruff
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.9.7
rev: v0.9.9
hooks:
- id: ruff
args: ["--fix", "--show-fixes"]
Expand Down Expand Up @@ -90,7 +90,7 @@ repos:

# Check for spelling
- repo: https://github.com/crate-ci/typos
rev: v1.29.9
rev: v1.30.0
hooks:
- id: typos

Expand All @@ -112,7 +112,7 @@ repos:

# Format configuration files with prettier
- repo: https://github.com/rbubley/mirrors-prettier
rev: v3.5.2
rev: v3.5.3
hooks:
- id: prettier
types_or: [yaml, markdown, html, css, scss, javascript, json]
Expand Down Expand Up @@ -143,6 +143,6 @@ repos:

# Check the pyproject.toml file
- repo: https://github.com/henryiii/validate-pyproject-schema-store
rev: 2025.02.17
rev: 2025.02.24
hooks:
- id: validate-pyproject
2 changes: 2 additions & 0 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ def _run_tests(
"build",
"--only-group",
"test",
"--verbose",
# Build mqt-core from source to work around pybind believing that two
# compiled extensions might not be binary compatible.
# This will be fixed in a new pybind11 release that includes https://github.com/pybind/pybind11/pull/5439.
Expand All @@ -76,6 +77,7 @@ def _run_tests(
"--no-dev", # do not auto-install dev dependencies
"--no-build-isolation-package",
"mqt-qmap", # build the project without isolation
"--verbose",
*install_args,
"pytest",
*run_args,
Expand Down
12 changes: 7 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[build-system]
requires = [
"scikit-build-core>=0.10.7",
"scikit-build-core>=0.11.0",
"setuptools-scm>=8.1",
"pybind11>=2.13.6",
"mqt.core>=3.0.0b4",
Expand All @@ -19,7 +19,8 @@ authors = [
{ name = "Yannick Stade", email = "[email protected]" }
]
keywords = ["MQT", "quantum-computing", "design-automation", "compiler", "clifford-synthesis"]
license = { file = "LICENSE.md" }
license = "MIT"
license-files = ["LICENSE.md"]

classifiers = [
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
Expand All @@ -28,7 +29,6 @@ classifiers = [
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"License :: OSI Approved :: MIT License",
"Programming Language :: C++",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
Expand Down Expand Up @@ -350,7 +350,7 @@ mqt-qmap = { workspace = true }
[dependency-groups]
build = [
"pybind11>=2.13.6",
"scikit-build-core>=0.10.7",
"scikit-build-core>=0.11.0",
"setuptools-scm>=8.1",
"mqt.core>=3.0.0b4",
]
Expand All @@ -371,8 +371,10 @@ docs = [
"sphinxext-opengraph>=0.9.1",
"ipykernel>=6.29.5",
"nbsphinx>=0.9.6",
"sphinx!=8.2.0", # see https://github.com/spatialaudio/nbsphinx/issues/825
"sphinx-autodoc-typehints>=2.3.0",
"sphinx>=7.4.7",
"sphinx>=8.1.3; python_version >= '3.10'",
"sphinx>=8.2.3; python_version >= '3.11'",
]
test = [
"networkx>=3.2.1",
Expand Down
6 changes: 3 additions & 3 deletions src/mqt/qmap/subarchitectures.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,9 @@ def from_retworkx_graph(cls, graph: Graph) -> SubarchitectureOrder:
so = SubarchitectureOrder()
so.arch = graph

so.__compute_subarchs() # noqa: SLF001
so.__compute_subarch_order() # noqa: SLF001
so.__compute_desirable_subarchitectures() # noqa: SLF001
so.__compute_subarchs()
so.__compute_subarch_order()
so.__compute_desirable_subarchitectures()
return so

@classmethod
Expand Down
Loading

0 comments on commit 2460d5a

Please sign in to comment.