From 91675af7af3df758108f95607163e09c5e03ccbb Mon Sep 17 00:00:00 2001 From: Hong-Sheng Zheng Date: Fri, 5 Dec 2025 16:05:12 -0500 Subject: [PATCH 1/9] Support python3 3.14 --- .github/workflows/build-wheel-linux-arm64.yaml | 2 +- .github/workflows/build-wheel-linux-x86_64.yaml | 2 +- .github/workflows/build-wheel-macos-arm64.yaml | 6 +++--- .github/workflows/constants.yaml | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-wheel-linux-arm64.yaml b/.github/workflows/build-wheel-linux-arm64.yaml index b619cc1c59..0aa472aafb 100644 --- a/.github/workflows/build-wheel-linux-arm64.yaml +++ b/.github/workflows/build-wheel-linux-arm64.yaml @@ -474,7 +474,7 @@ jobs: python${{ matrix.python_version }} -m pip install 'amazon-braket-pennylane-plugin>=1.31.0' - name: Install OQC client - if: matrix.python_version != '3.13' + if: ${{ !contains(fromJSON('["3.13", "3.14"]'), matrix.python_version) }} run: | python${{ matrix.python_version }} -m pip install oqc-qcaas-client diff --git a/.github/workflows/build-wheel-linux-x86_64.yaml b/.github/workflows/build-wheel-linux-x86_64.yaml index 4d9fac7a68..62b1fe54d9 100644 --- a/.github/workflows/build-wheel-linux-x86_64.yaml +++ b/.github/workflows/build-wheel-linux-x86_64.yaml @@ -493,7 +493,7 @@ jobs: python${{ matrix.python_version }} -m pip install 'amazon-braket-pennylane-plugin>=1.31.0' - name: Install OQC client - if: matrix.python_version != '3.13' + if: ${{ !contains(fromJSON('["3.13", "3.14"]'), matrix.python_version) }} run: | python${{ matrix.python_version }} -m pip install oqc-qcaas-client diff --git a/.github/workflows/build-wheel-macos-arm64.yaml b/.github/workflows/build-wheel-macos-arm64.yaml index 056643772d..0bf179e6a6 100644 --- a/.github/workflows/build-wheel-macos-arm64.yaml +++ b/.github/workflows/build-wheel-macos-arm64.yaml @@ -166,9 +166,9 @@ jobs: lookup-only: True - name: Setup Python version - # There are multiple Python versions installed on the GitHub image, 3.11 - 3.12 is already + # There are multiple Python versions installed on the GitHub image, 3.11 - 3.14 is already # available under /Library/Frameworks/Python.framework/Versions/, but homebrew also provides - # 3.11 and 3.12. Make sure to consistently use the system versions. + # 3.11 and 3.14. Make sure to consistently use the system versions. run: | echo /Library/Frameworks/Python.framework/Versions/${{ matrix.python_version }}/bin >> $GITHUB_PATH @@ -474,7 +474,7 @@ jobs: python${{ matrix.python_version }} -m pip install 'amazon-braket-pennylane-plugin>1.27.1' - name: Install OQC client - if: matrix.python_version != '3.13' + if: ${{ !contains(fromJSON('["3.13", "3.14"]'), matrix.python_version) }} run: | python${{ matrix.python_version }} -m pip install oqc-qcaas-client diff --git a/.github/workflows/constants.yaml b/.github/workflows/constants.yaml index 52a2ad7dcc..9265b54d5a 100644 --- a/.github/workflows/constants.yaml +++ b/.github/workflows/constants.yaml @@ -80,12 +80,12 @@ jobs: - name: Python versions id: python_versions run: | - echo 'python_versions=["3.11", "3.12"]' >> $GITHUB_OUTPUT + echo 'python_versions=["3.11", "3.12", "3.13", "3.14"]' >> $GITHUB_OUTPUT - name: Python test versions id: python_test_versions run: | - echo 'python_test_versions=["3.11", "3.12", "3.13"]' >> $GITHUB_OUTPUT + echo 'python_test_versions=["3.11", "3.12", "3.13", "3.14"]' >> $GITHUB_OUTPUT - name: Primary Python version id: primary_python_version From 400ed17249abbbe72f4d3ebed6fbf86787fb1137 Mon Sep 17 00:00:00 2001 From: Hong-Sheng Zheng Date: Fri, 5 Dec 2025 16:06:52 -0500 Subject: [PATCH 2/9] update --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 84ce5c873a..ad6c5caa18 100644 --- a/setup.py +++ b/setup.py @@ -161,6 +161,7 @@ def parse_dep_versions(): "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3 :: Only", ] From 66874e44d67b1a8105075583497eb93323672f32 Mon Sep 17 00:00:00 2001 From: Hong-Sheng Zheng Date: Fri, 5 Dec 2025 16:58:58 -0500 Subject: [PATCH 3/9] 3.13-3.14 are in GitHub and provided by homebrew --- .github/workflows/build-wheel-macos-arm64.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-wheel-macos-arm64.yaml b/.github/workflows/build-wheel-macos-arm64.yaml index 0bf179e6a6..f18f9bed96 100644 --- a/.github/workflows/build-wheel-macos-arm64.yaml +++ b/.github/workflows/build-wheel-macos-arm64.yaml @@ -168,7 +168,7 @@ jobs: - name: Setup Python version # There are multiple Python versions installed on the GitHub image, 3.11 - 3.14 is already # available under /Library/Frameworks/Python.framework/Versions/, but homebrew also provides - # 3.11 and 3.14. Make sure to consistently use the system versions. + # 3.11 - 3.14. Make sure to consistently use the system versions. run: | echo /Library/Frameworks/Python.framework/Versions/${{ matrix.python_version }}/bin >> $GITHUB_PATH @@ -245,9 +245,9 @@ jobs: ref: ${{ inputs.branch || github.ref }} - name: Setup Python version - # There are multiple Python versions installed on the GitHub image, 3.11 - 3.12 is already + # There are multiple Python versions installed on the GitHub image, 3.11 - 3.14 is already # available under /Library/Frameworks/Python.framework/Versions/, but homebrew also provides - # 3.11 and 3.12. Make sure to consistently use the system versions. + # 3.11 - 3.14. Make sure to consistently use the system versions. run: | echo /Library/Frameworks/Python.framework/Versions/${{ matrix.python_version }}/bin >> $GITHUB_PATH @@ -458,9 +458,9 @@ jobs: path: ${{ github.workspace }}/standalone_plugin_wheel/wheel - name: Setup Python version - # There are multiple Python versions installed on the GitHub image, 3.11 - 3.12 is already + # There are multiple Python versions installed on the GitHub image, 3.11 - 3.14 is already # available under /Library/Frameworks/Python.framework/Versions/, but homebrew also provides - # 3.11 and 3.12. Make sure to consistently use the system versions. + # 3.11 - 3.14. Make sure to consistently use the system versions. run: | echo /Library/Frameworks/Python.framework/Versions/${{ matrix.python_version }}/bin >> $GITHUB_PATH From bf72a489da2ede0527a0b885aa87263d29030314 Mon Sep 17 00:00:00 2001 From: Hong-Sheng Zheng Date: Fri, 5 Dec 2025 17:01:09 -0500 Subject: [PATCH 4/9] remove build version --- .github/workflows/constants.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/constants.yaml b/.github/workflows/constants.yaml index 9265b54d5a..31d6f94bcc 100644 --- a/.github/workflows/constants.yaml +++ b/.github/workflows/constants.yaml @@ -80,7 +80,7 @@ jobs: - name: Python versions id: python_versions run: | - echo 'python_versions=["3.11", "3.12", "3.13", "3.14"]' >> $GITHUB_OUTPUT + echo 'python_versions=["3.11", "3.12"]' >> $GITHUB_OUTPUT - name: Python test versions id: python_test_versions From 07377ec6f1382709f471bce3d9cbda07c5a69e1e Mon Sep 17 00:00:00 2001 From: Hong-Sheng Zheng Date: Fri, 5 Dec 2025 17:24:17 -0500 Subject: [PATCH 5/9] ci From 4506cbb9529f08ba85fda91e649a81f719372df2 Mon Sep 17 00:00:00 2001 From: Hong-Sheng Zheng Date: Mon, 8 Dec 2025 11:54:20 -0500 Subject: [PATCH 6/9] fix --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 08f57ee9c0..4b1b930b72 100644 --- a/requirements.txt +++ b/requirements.txt @@ -32,7 +32,7 @@ pytest-mock nbmake # optional rt/test dependencies -pennylane-lightning-kokkos -amazon-braket-pennylane-plugin>1.27.1 +pennylane-lightning-kokkos; python_version < "3.14" +amazon-braket-pennylane-plugin>1.27.1; python_version < "3.14" xdsl xdsl-jax From 9d6467169841e789d99d7e56dce5cee16e875fcc Mon Sep 17 00:00:00 2001 From: Hong-Sheng Zheng Date: Tue, 16 Dec 2025 11:37:31 -0500 Subject: [PATCH 7/9] Update requirements.txt Co-authored-by: Yushao Chen (Jerry) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 4b1b930b72..34ee56fc43 100644 --- a/requirements.txt +++ b/requirements.txt @@ -32,7 +32,7 @@ pytest-mock nbmake # optional rt/test dependencies -pennylane-lightning-kokkos; python_version < "3.14" +pennylane-lightning-kokkos amazon-braket-pennylane-plugin>1.27.1; python_version < "3.14" xdsl xdsl-jax From a109498ce389532c0032886cb0760c2b85ccaf13 Mon Sep 17 00:00:00 2001 From: Hong-Sheng Zheng Date: Tue, 16 Dec 2025 14:12:54 -0500 Subject: [PATCH 8/9] Add changelog --- doc/releases/changelog-dev.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/doc/releases/changelog-dev.md b/doc/releases/changelog-dev.md index d52d97ccfe..63bbcf4384 100644 --- a/doc/releases/changelog-dev.md +++ b/doc/releases/changelog-dev.md @@ -371,10 +371,13 @@

Internal changes ⚙️

-* RTIO dialect is added to bypass the compilation flow from OpenAPL to ARTIQ’s LLVM IR. It is - introduced to bridge the gap between ION dialect and ARTIQ’s LLVM IR. The design philosophy - of RTIO dialect is primarily event-based. Every operation is asynchronous; sync behaviour occurs - only via `rtio.sync` or `wait operand` in event operation. And we now support the compiling from +* Python 3.14 is now officially supported. Added the forward capability with Python 3.14. + [(#2271)](https://github.com/PennyLaneAI/catalyst/pull/2271) + +* RTIO dialect is added to bypass the compilation flow from OpenAPL to ARTIQ’s LLVM IR. It is + introduced to bridge the gap between ION dialect and ARTIQ’s LLVM IR. The design philosophy + of RTIO dialect is primarily event-based. Every operation is asynchronous; sync behaviour occurs + only via `rtio.sync` or `wait operand` in event operation. And we now support the compiling from ION dialect to RTIO dilalect. [(#2185)](https://github.com/PennyLaneAI/catalyst/pull/2185) [(#2204)](https://github.com/PennyLaneAI/catalyst/pull/2204) @@ -464,10 +467,10 @@

Documentation 📝

-* A new statevector simulator ``lightning.amdgpu`` has been added for optimized performance on AMD GPUs. +* A new statevector simulator ``lightning.amdgpu`` has been added for optimized performance on AMD GPUs. [(#2283)](https://github.com/PennyLaneAI/catalyst/pull/2283) - The ``lightning.amdgpu`` device is a specific instantiation of the ``lightning.kokkos`` backend, supporting the same features and operations as ``lightning.kokkos``, with pre-compiled wheels for ``lightning.amdgpu`` available on PyPI for easy installation to use on MI300 series AMD GPUs. + The ``lightning.amdgpu`` device is a specific instantiation of the ``lightning.kokkos`` backend, supporting the same features and operations as ``lightning.kokkos``, with pre-compiled wheels for ``lightning.amdgpu`` available on PyPI for easy installation to use on MI300 series AMD GPUs. This device can be used within qjit'd workflows exactly as other devices compatible with Catalyst: From 011ae84a10e67c48e916910594d6938a9e4352e2 Mon Sep 17 00:00:00 2001 From: Hong-Sheng Zheng Date: Tue, 16 Dec 2025 14:19:06 -0500 Subject: [PATCH 9/9] update checking logic --- .github/workflows/build-wheel-linux-arm64.yaml | 6 ++++-- .github/workflows/build-wheel-linux-x86_64.yaml | 6 ++++-- .github/workflows/build-wheel-macos-arm64.yaml | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-wheel-linux-arm64.yaml b/.github/workflows/build-wheel-linux-arm64.yaml index 1ca97350e0..b731ab7e23 100644 --- a/.github/workflows/build-wheel-linux-arm64.yaml +++ b/.github/workflows/build-wheel-linux-arm64.yaml @@ -474,9 +474,11 @@ jobs: python${{ matrix.python_version }} -m pip install 'amazon-braket-pennylane-plugin>=1.31.0' - name: Install OQC client - if: ${{ !contains(fromJSON('["3.13", "3.14"]'), matrix.python_version) }} run: | - python${{ matrix.python_version }} -m pip install oqc-qcaas-client + python_minor=$(echo "${{ matrix.python_version }}" | cut -d. -f2) + if [ "$python_minor" -lt 13 ]; then + python${{ matrix.python_version }} -m pip install oqc-qcaas-client + fi - name: Install Catalyst run: | diff --git a/.github/workflows/build-wheel-linux-x86_64.yaml b/.github/workflows/build-wheel-linux-x86_64.yaml index 111d0ec12c..6c23e8c024 100644 --- a/.github/workflows/build-wheel-linux-x86_64.yaml +++ b/.github/workflows/build-wheel-linux-x86_64.yaml @@ -493,9 +493,11 @@ jobs: python${{ matrix.python_version }} -m pip install 'amazon-braket-pennylane-plugin>=1.31.0' - name: Install OQC client - if: ${{ !contains(fromJSON('["3.13", "3.14"]'), matrix.python_version) }} run: | - python${{ matrix.python_version }} -m pip install oqc-qcaas-client + python_minor=$(echo "${{ matrix.python_version }}" | cut -d. -f2) + if [ "$python_minor" -lt 13 ]; then + python${{ matrix.python_version }} -m pip install oqc-qcaas-client + fi - name: Install Catalyst run: | diff --git a/.github/workflows/build-wheel-macos-arm64.yaml b/.github/workflows/build-wheel-macos-arm64.yaml index 32e49463d5..33b9cf8454 100644 --- a/.github/workflows/build-wheel-macos-arm64.yaml +++ b/.github/workflows/build-wheel-macos-arm64.yaml @@ -474,9 +474,11 @@ jobs: python${{ matrix.python_version }} -m pip install 'amazon-braket-pennylane-plugin>1.27.1' - name: Install OQC client - if: ${{ !contains(fromJSON('["3.13", "3.14"]'), matrix.python_version) }} run: | - python${{ matrix.python_version }} -m pip install oqc-qcaas-client + python_minor=$(echo "${{ matrix.python_version }}" | cut -d. -f2) + if [ "$python_minor" -lt 13 ]; then + python${{ matrix.python_version }} -m pip install oqc-qcaas-client + fi - name: Install Catalyst run: |