diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 6859aa83..8eca3fd4 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -10,11 +10,11 @@ on: jobs: build-sdist: name: 🐍 Packaging - uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@v1.15 + uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@v1.16 build-wheel: name: 🐍 Packaging - uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-build.yml@v1.15 + uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-build.yml@v1.16 deploy: if: github.event_name == 'release' && github.event.action == 'published' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 558fe574..21592f17 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,13 +14,13 @@ concurrency: jobs: change-detection: name: 🔍 Change - uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-change-detection.yml@v1.15 + uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-change-detection.yml@v1.16 python-linter: name: 🐍 Lint needs: change-detection if: fromJSON(needs.change-detection.outputs.run-python-tests) - uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-linter.yml@v1.15 + uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-linter.yml@v1.16 python-tests: name: 🐍 Test @@ -29,8 +29,8 @@ jobs: strategy: fail-fast: false matrix: - runs-on: [ubuntu-24.04, macos-13, macos-14, windows-2022] - uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@v1.15 + runs-on: [ubuntu-24.04, macos-14, windows-2022] + uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@v1.16 with: runs-on: ${{ matrix.runs-on }} @@ -38,7 +38,7 @@ jobs: name: 🐍 Coverage needs: [change-detection, python-tests] if: fromJSON(needs.change-detection.outputs.run-python-tests) - uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-coverage.yml@v1.15 + uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-coverage.yml@v1.16 permissions: contents: read id-token: write @@ -47,19 +47,19 @@ jobs: name: 📝 CodeQL needs: change-detection if: fromJSON(needs.change-detection.outputs.run-code-ql) - uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-code-ql-python.yml@v1.15 + uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-code-ql-python.yml@v1.16 build-sdist: name: 🚀 CD needs: change-detection if: fromJSON(needs.change-detection.outputs.run-cd) - uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@v1.15 + uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@v1.16 build-wheel: name: 🚀 CD needs: change-detection if: fromJSON(needs.change-detection.outputs.run-cd) - uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-build.yml@v1.15 + uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-build.yml@v1.16 # this job does nothing and is only used for branch protection required-checks-pass: diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f63baa7..16922803 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ _If you are upgrading: please see [`UPGRADING.md`](UPGRADING.md#230)._ ### Changed +- 🗑️ Drop support for x86 architecture on macOS ([#421]) ([**@denialhaag**]) - 🎨 Adjust the ESP reward calculation to become Qiskit v2 compatible ([#406]) ([**@nquetschlich**]) - ✨ Improve the ML part and its usability ([#403]) ([**@nquetschlich**]) - 📝 Migrate the documentation from .rst to .md files ([#403]) ([**@nquetschlich**]) @@ -39,6 +40,7 @@ _📚 Refer to the [GitHub Release Notes](https://github.com/munich-quantum-tool +[#421]: https://github.com/munich-quantum-toolkit/predictor/pull/406 [#406]: https://github.com/munich-quantum-toolkit/predictor/pull/406 [#405]: https://github.com/munich-quantum-toolkit/predictor/pull/405 [#403]: https://github.com/munich-quantum-toolkit/predictor/pull/403 @@ -52,6 +54,7 @@ _📚 Refer to the [GitHub Release Notes](https://github.com/munich-quantum-tool [**@burgholzer**]: https://github.com/burgholzer [**@nquetschlich**]: https://github.com/nquetschlich [**@flowerthrower**]: https://github.com/flowerthrower +[**@denialhaag**]: https://github.com/denialhaag diff --git a/UPGRADING.md b/UPGRADING.md index 8c726bc3..86b31b79 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -4,6 +4,9 @@ This document describes breaking changes and how to upgrade. For a complete list ## [Unreleased] +With this release, `mqt-predictor` no longer supports the x86 architecture on macOS. +This step was necessary to ensure compatibility with PyTorch. + ## [2.3.0] - 2025-07-29 In this release, we have migrated to using Qiskit's `Target` class to represent quantum devices. diff --git a/docs/installation.md b/docs/installation.md index 290fdc66..5a0c9225 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -61,6 +61,12 @@ Once installed, you can check if the installation was successful by running: which should print the installed version of the library. +:::{attention} +As of version 2.4.0, {code}`mqt-predictor` no longer supports the x86 architecture on macOS. +This step was necessary to ensure compatibility with PyTorch. +Thank you for your understanding. +::: + ## Integrating MQT Predictor into your project If you want to use the MQT Predictor Python package in your own project, you can simply add it as a dependency in your `pyproject.toml` or `setup.py` file. diff --git a/noxfile.py b/noxfile.py index 2d9a0789..9e13b37f 100644 --- a/noxfile.py +++ b/noxfile.py @@ -26,7 +26,10 @@ nox.options.sessions = ["lint", "tests", "minimums"] -PYTHON_ALL_VERSIONS = ["3.10", "3.11", "3.12"] + +# TODO(denialhaag): Add 3.14 when all dependencies support it +# https://github.com/munich-quantum-toolkit/predictor/issues/420 +PYTHON_ALL_VERSIONS = ["3.10", "3.11", "3.12", "3.13"] if os.environ.get("CI", None): nox.options.error_on_missing_interpreters = True diff --git a/pyproject.toml b/pyproject.toml index 2d8a4f98..23515164 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,6 +59,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Intended Audience :: Science/Research", "Natural Language :: English", "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",