diff --git a/.github/workflows/deploy-code.yml b/.github/workflows/deploy-code.yml index d7ec224f3..70a1889c1 100644 --- a/.github/workflows/deploy-code.yml +++ b/.github/workflows/deploy-code.yml @@ -1,6 +1,6 @@ # This code is part of a Qiskit project. # -# (C) Copyright IBM 2021, 2024. +# (C) Copyright IBM 2021, 2025. # # This code is licensed under the Apache License, Version 2.0. You may # obtain a copy of this license in the LICENSE.txt file in the root directory diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index c2e0def1e..247dd2d1c 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -1,6 +1,6 @@ # This code is part of a Qiskit project. # -# (C) Copyright IBM 2021, 2024. +# (C) Copyright IBM 2021, 2025. # # This code is licensed under the Apache License, Version 2.0. You may # obtain a copy of this license in the LICENSE.txt file in the root directory @@ -21,7 +21,7 @@ concurrency: jobs: docs_publish: - if: ${{ startsWith(github.ref, 'refs/heads/stable') && contains('["adekusar-drl","mtreinish","woodsp-ibm","smens","edoaltamura","oscar-wallis","OkuyanBoga","Benjamin-Symons"]', github.actor) }} + if: ${{ startsWith(github.ref, 'refs/heads/stable') && contains('["adekusar-drl","mtreinish","woodsp-ibm","smens","edoaltamura","oscar-wallis","OkuyanBoga"]', github.actor) }} runs-on: ubuntu-latest strategy: matrix: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fe3fb7ea5..d524170ac 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,17 +112,17 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - python-version: ['3.10', 3.11, 3.12, 3.13] + python-version: ['3.10', 3.11, 3.12, 3.13, 3.14] include: # macos-latest is an Arm64 image - os: macos-latest python-version: '3.10' - os: macos-latest - python-version: 3.13 + python-version: 3.14 - os: windows-latest python-version: '3.10' - os: windows-latest - python-version: 3.13 + python-version: 3.14 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -184,7 +184,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - python-version: ['3.10', 3.13] + python-version: ['3.10', 3.14] steps: - uses: actions/checkout@v6 with: @@ -282,30 +282,34 @@ jobs: with: name: ubuntu-latest-3.13 path: /tmp/u313 + - uses: actions/download-artifact@v6 + with: + name: ubuntu-latest-3.14 + path: /tmp/u314 - uses: actions/download-artifact@v6 with: name: macos-latest-3.10 path: /tmp/m310 - uses: actions/download-artifact@v6 with: - name: macos-latest-3.13 - path: /tmp/m313 + name: macos-latest-3.14 + path: /tmp/m314 - uses: actions/download-artifact@v6 with: name: windows-latest-3.10 path: /tmp/w310 - uses: actions/download-artifact@v6 with: - name: windows-latest-3.13 - path: /tmp/w313 + name: windows-latest-3.14 + path: /tmp/w314 - name: Install Dependencies run: pip install -U coverage coveralls diff-cover shell: bash - name: Combined Deprecation Messages run: | - sort -f -u /tmp/u310/ml.dep /tmp/u311/ml.dep /tmp/u312/ml.dep /tmp/u313/ml.dep /tmp/m310/ml.dep /tmp/m313/ml.dep /tmp/w310/ml.dep /tmp/w313/ml.dep || true + sort -f -u /tmp/u310/ml.dep /tmp/u311/ml.dep /tmp/u312/ml.dep /tmp/u313/ml.dep /tmp/u314/ml.dep /tmp/m310/ml.dep /tmp/m314/ml.dep /tmp/w310/ml.dep /tmp/w314/ml.dep || true shell: bash - name: Coverage combine run: coverage3 combine /tmp/u310/ml.dat - shell: bash \ No newline at end of file + shell: bash diff --git a/pyproject.toml b/pyproject.toml index c2c88238e..d8e3ed42c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta" [tool.black] line-length = 100 -target-version = ['py39', 'py310', 'py311', 'py312', 'py313'] +target-version = ['py310', 'py311', 'py312', 'py313', 'py314'] [tool.pylint.main] extension-pkg-allow-list = [ diff --git a/releasenotes/notes/Add-Python-3.14-support-6b6cda8cc6d34724.yaml b/releasenotes/notes/Add-Python-3.14-support-6b6cda8cc6d34724.yaml new file mode 100644 index 000000000..dd970769a --- /dev/null +++ b/releasenotes/notes/Add-Python-3.14-support-6b6cda8cc6d34724.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + Added support for using Qiskit Machine Learning with Python 3.14 following the release of + Python 3.14 (final) in October 2025 (`PEP 745 `__). To + access the latest features of Python 3.14, you may update your Qiskit Machine Learning + environment. diff --git a/releasenotes/drop-python-39-eol-991-2025.yaml b/releasenotes/notes/Remove-Python-3.9-support-63a5934e8d2a2f79.yaml similarity index 100% rename from releasenotes/drop-python-39-eol-991-2025.yaml rename to releasenotes/notes/Remove-Python-3.9-support-63a5934e8d2a2f79.yaml diff --git a/setup.py b/setup.py index dc3a0c614..83bd428c9 100644 --- a/setup.py +++ b/setup.py @@ -65,6 +65,7 @@ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Scientific/Engineering", ], keywords="qiskit sdk quantum machine learning ml", diff --git a/tox.ini b/tox.ini index 9d8e5c4c5..a0e2c9cd3 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] # Sets this min.version because of differences with env_tmp_dir env. minversion = 4.0.2 -envlist = py310, py311, py312, py313, lint, gpu, gpu-amd +envlist = py310, py311, py312, py313, py314, lint, gpu, gpu-amd skipsdist = True [testenv]