From c7473bc1ee44659b01b832141ecc0d5f72f6d62e Mon Sep 17 00:00:00 2001
From: Edoardo Altamura <38359901+edoaltamura@users.noreply.github.com>
Date: Thu, 3 Oct 2024 14:41:49 +0100
Subject: [PATCH 1/4] Add support for `Python 3.13`
---
.github/workflows/main.yml | 28 +++++++++++--------
pyproject.toml | 2 +-
.../py38_end_of_support-fa1fdea6ea02b502.yaml | 5 ++--
.../py_3_12_support-6ac8bce3652299fb.yaml | 3 +-
.../py_3_13_support-ab5e36821d346044.yaml | 7 +++++
setup.py | 1 +
tox.ini | 2 +-
7 files changed, 31 insertions(+), 17 deletions(-)
create mode 100644 releasenotes/notes/py_3_13_support-ab5e36821d346044.yaml
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 2bdd419ad..f64f3eb80 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -112,21 +112,21 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
- python-version: [3.9, '3.10', 3.11, 3.12]
+ python-version: [3.9, '3.10', 3.11, 3.12, 3.13]
include:
- os: macos-latest
python-version: 3.9
- os: macos-latest
- python-version: 3.12
+ python-version: 3.13
- os: windows-latest
python-version: 3.9
- os: windows-latest
- python-version: 3.12
+ python-version: 3.13
# macos-14 is an Arm64 image
- os: macos-14
python-version: '3.10'
- os: macos-14
- python-version: 3.12
+ python-version: 3.13
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
@@ -188,7 +188,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
- python-version: [3.9, 3.12]
+ python-version: [3.9, 3.13]
steps:
- uses: actions/checkout@v4
with:
@@ -286,36 +286,40 @@ jobs:
with:
name: ubuntu-latest-3.12
path: /tmp/u312
+ - uses: actions/download-artifact@v4
+ with:
+ name: ubuntu-latest-3.13
+ path: /tmp/u313
- uses: actions/download-artifact@v4
with:
name: macos-latest-3.9
path: /tmp/m39
- uses: actions/download-artifact@v4
with:
- name: macos-latest-3.12
- path: /tmp/m312
+ name: macos-latest-3.13
+ path: /tmp/m313
- uses: actions/download-artifact@v4
with:
name: windows-latest-3.9
path: /tmp/w39
- uses: actions/download-artifact@v4
with:
- name: windows-latest-3.12
- path: /tmp/w312
+ name: windows-latest-3.13
+ path: /tmp/w313
- uses: actions/download-artifact@v4
with:
name: macos-14-3.10
path: /tmp/a310
- uses: actions/download-artifact@v4
with:
- name: macos-14-3.12
- path: /tmp/a312
+ name: macos-14-3.13
+ path: /tmp/a313
- name: Install Dependencies
run: pip install -U coverage coveralls diff-cover
shell: bash
- name: Combined Deprecation Messages
run: |
- sort -f -u /tmp/u39/ml.dep /tmp/u310/ml.dep /tmp/u311/ml.dep /tmp/u312/ml.dep /tmp/m39/ml.dep /tmp/m312/ml.dep /tmp/w39/ml.dep /tmp/w312/ml.dep /tmp/a310/ml.dep /tmp/a312/ml.dep || true
+ sort -f -u /tmp/u39/ml.dep /tmp/u310/ml.dep /tmp/u311/ml.dep /tmp/u312/ml.dep /tmp/u313/ml.dep /tmp/m39/ml.dep /tmp/m313/ml.dep /tmp/w39/ml.dep /tmp/w313/ml.dep /tmp/a310/ml.dep /tmp/a313/ml.dep || true
shell: bash
- name: Coverage combine
run: coverage3 combine /tmp/u39/ml.dat
diff --git a/pyproject.toml b/pyproject.toml
index dd917cc01..f84e39f65 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']
+target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
[tool.pylint.main]
extension-pkg-allow-list = [
diff --git a/releasenotes/notes/py38_end_of_support-fa1fdea6ea02b502.yaml b/releasenotes/notes/py38_end_of_support-fa1fdea6ea02b502.yaml
index f039fa74e..4500de39b 100644
--- a/releasenotes/notes/py38_end_of_support-fa1fdea6ea02b502.yaml
+++ b/releasenotes/notes/py38_end_of_support-fa1fdea6ea02b502.yaml
@@ -2,5 +2,6 @@
upgrade:
- |
Removed support for using Qiskit Machine Learning with Python 3.8 to reflect
- the EOL of Python 3.8 in October 2024 (PEP 569). To continue using Qiskit Machine Learning, you
- must upgrade to a Python: 3.9 or above if you are using older versions of Python.
+ the EOL of Python 3.8 in October 2024 (`PEP 569 `__). To
+ continue using Qiskit Machine Learning, you must upgrade to a Python: 3.9 or above if you are
+ using older versions of Python.
diff --git a/releasenotes/notes/py_3_12_support-6ac8bce3652299fb.yaml b/releasenotes/notes/py_3_12_support-6ac8bce3652299fb.yaml
index 4bb1ff7d9..f4f0ae685 100644
--- a/releasenotes/notes/py_3_12_support-6ac8bce3652299fb.yaml
+++ b/releasenotes/notes/py_3_12_support-6ac8bce3652299fb.yaml
@@ -1,4 +1,5 @@
---
features:
- |
- Added support for using Qiskit Machine Learning with Python 3.12.
+ Added support for using Qiskit Machine Learning with Python 3.12
+ (`PEP 693 `__).
diff --git a/releasenotes/notes/py_3_13_support-ab5e36821d346044.yaml b/releasenotes/notes/py_3_13_support-ab5e36821d346044.yaml
new file mode 100644
index 000000000..1e6749ac6
--- /dev/null
+++ b/releasenotes/notes/py_3_13_support-ab5e36821d346044.yaml
@@ -0,0 +1,7 @@
+---
+features:
+ - |
+ Added support for using Qiskit Machine Learning with Python 3.13 following the release of
+ Python 3.13 (final) in October 2024 (`PEP 719 `__). To
+ access the latest features of Python 3.13, you may update your Qiskit Machine Learning
+ environment.
diff --git a/setup.py b/setup.py
index d7caaa4be..4f37aee56 100644
--- a/setup.py
+++ b/setup.py
@@ -61,6 +61,7 @@
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering"
],
keywords='qiskit sdk quantum machine learning ml',
diff --git a/tox.ini b/tox.ini
index f8f98c294..508192e22 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 = py39, py310, py311, py312, lint, gpu, gpu-amd
+envlist = py39, py310, py311, py312, py313, lint, gpu, gpu-amd
skipsdist = True
[testenv]
From f027915dc8d387327d89106c08357c9e9baa605e Mon Sep 17 00:00:00 2001
From: Edoardo Altamura <38359901+edoaltamura@users.noreply.github.com>
Date: Thu, 3 Oct 2024 14:58:14 +0100
Subject: [PATCH 2/4] Add note for tutorial tests
---
.github/workflows/main.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index f64f3eb80..62e560376 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -229,6 +229,7 @@ jobs:
with:
name: tutorials${{ matrix.python-version }}
path: docs/_build/html/artifacts/tutorials.tar.gz
+# UNCOMMENT AFTER THE 0.8 RELEASE ON PIPY
# - name: Run stable tutorials
# env:
# QISKIT_PARALLEL: False
From 211765c956c0b86adc4364e7da96fbbc943fbeed Mon Sep 17 00:00:00 2001
From: Edoardo Altamura <38359901+edoaltamura@users.noreply.github.com>
Date: Thu, 3 Oct 2024 14:41:49 +0100
Subject: [PATCH 3/4] Add support for `Python 3.13`
---
.github/workflows/main.yml | 37 ++++++++++++++-----
pyproject.toml | 2 +-
.../py38_end_of_support-fa1fdea6ea02b502.yaml | 5 ++-
.../0.8/py_3_12_support-6ac8bce3652299fb.yaml | 3 +-
.../py_3_13_support-ab5e36821d346044.yaml | 7 ++++
setup.py | 3 +-
tox.ini | 2 +-
7 files changed, 43 insertions(+), 16 deletions(-)
create mode 100644 releasenotes/notes/py_3_13_support-ab5e36821d346044.yaml
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index b4cc1e962..76026c815 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -112,17 +112,22 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
- python-version: [3.9, '3.10', 3.11, 3.12]
+ python-version: [3.9, '3.10', 3.11, 3.12, 3.13]
include:
# macos-latest is an Arm64 image
- os: macos-latest
python-version: 3.9
- os: macos-latest
- python-version: 3.12
+ python-version: 3.13
- os: windows-latest
python-version: 3.9
- os: windows-latest
- python-version: 3.12
+ python-version: 3.13
+ # macos-14 is an Arm64 image
+ - os: macos-14
+ python-version: '3.10'
+ - os: macos-14
+ python-version: 3.13
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
@@ -184,7 +189,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
- python-version: [3.9, 3.12]
+ python-version: [3.9, 3.13]
steps:
- uses: actions/checkout@v4
with:
@@ -282,28 +287,40 @@ jobs:
with:
name: ubuntu-latest-3.12
path: /tmp/u312
+ - uses: actions/download-artifact@v4
+ with:
+ name: ubuntu-latest-3.13
+ path: /tmp/u313
- uses: actions/download-artifact@v4
with:
name: macos-latest-3.9
path: /tmp/m39
- uses: actions/download-artifact@v4
with:
- name: macos-latest-3.12
- path: /tmp/m312
+ name: macos-latest-3.13
+ path: /tmp/m313
- uses: actions/download-artifact@v4
with:
name: windows-latest-3.9
path: /tmp/w39
- uses: actions/download-artifact@v4
with:
- name: windows-latest-3.12
- path: /tmp/w312
+ name: windows-latest-3.13
+ path: /tmp/w313
+ - uses: actions/download-artifact@v4
+ with:
+ name: macos-14-3.10
+ path: /tmp/a310
+ - uses: actions/download-artifact@v4
+ with:
+ name: macos-14-3.13
+ path: /tmp/a313
- name: Install Dependencies
run: pip install -U coverage coveralls diff-cover
shell: bash
- name: Combined Deprecation Messages
run: |
- sort -f -u /tmp/u39/ml.dep /tmp/u310/ml.dep /tmp/u311/ml.dep /tmp/u312/ml.dep /tmp/m39/ml.dep /tmp/m312/ml.dep /tmp/w39/ml.dep /tmp/w312/ml.dep || true
+ sort -f -u /tmp/u39/ml.dep /tmp/u310/ml.dep /tmp/u311/ml.dep /tmp/u312/ml.dep /tmp/u313/ml.dep /tmp/m39/ml.dep /tmp/m313/ml.dep /tmp/w39/ml.dep /tmp/w313/ml.dep /tmp/a310/ml.dep /tmp/a313/ml.dep || true
shell: bash
- name: Coverage combine
run: coverage3 combine /tmp/u39/ml.dat
@@ -312,4 +329,4 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: coveralls --service=github
- shell: bash
\ No newline at end of file
+ shell: bash
diff --git a/pyproject.toml b/pyproject.toml
index dd917cc01..f84e39f65 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']
+target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
[tool.pylint.main]
extension-pkg-allow-list = [
diff --git a/releasenotes/notes/0.8/py38_end_of_support-fa1fdea6ea02b502.yaml b/releasenotes/notes/0.8/py38_end_of_support-fa1fdea6ea02b502.yaml
index f039fa74e..4500de39b 100644
--- a/releasenotes/notes/0.8/py38_end_of_support-fa1fdea6ea02b502.yaml
+++ b/releasenotes/notes/0.8/py38_end_of_support-fa1fdea6ea02b502.yaml
@@ -2,5 +2,6 @@
upgrade:
- |
Removed support for using Qiskit Machine Learning with Python 3.8 to reflect
- the EOL of Python 3.8 in October 2024 (PEP 569). To continue using Qiskit Machine Learning, you
- must upgrade to a Python: 3.9 or above if you are using older versions of Python.
+ the EOL of Python 3.8 in October 2024 (`PEP 569 `__). To
+ continue using Qiskit Machine Learning, you must upgrade to a Python: 3.9 or above if you are
+ using older versions of Python.
diff --git a/releasenotes/notes/0.8/py_3_12_support-6ac8bce3652299fb.yaml b/releasenotes/notes/0.8/py_3_12_support-6ac8bce3652299fb.yaml
index 4bb1ff7d9..f4f0ae685 100644
--- a/releasenotes/notes/0.8/py_3_12_support-6ac8bce3652299fb.yaml
+++ b/releasenotes/notes/0.8/py_3_12_support-6ac8bce3652299fb.yaml
@@ -1,4 +1,5 @@
---
features:
- |
- Added support for using Qiskit Machine Learning with Python 3.12.
+ Added support for using Qiskit Machine Learning with Python 3.12
+ (`PEP 693 `__).
diff --git a/releasenotes/notes/py_3_13_support-ab5e36821d346044.yaml b/releasenotes/notes/py_3_13_support-ab5e36821d346044.yaml
new file mode 100644
index 000000000..1e6749ac6
--- /dev/null
+++ b/releasenotes/notes/py_3_13_support-ab5e36821d346044.yaml
@@ -0,0 +1,7 @@
+---
+features:
+ - |
+ Added support for using Qiskit Machine Learning with Python 3.13 following the release of
+ Python 3.13 (final) in October 2024 (`PEP 719 `__). To
+ access the latest features of Python 3.13, you may update your Qiskit Machine Learning
+ environment.
diff --git a/setup.py b/setup.py
index ea5e885e4..d2ff4818d 100644
--- a/setup.py
+++ b/setup.py
@@ -65,7 +65,8 @@
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
- "Topic :: Scientific/Engineering",
+ "Programming Language :: Python :: 3.13",
+ "Topic :: Scientific/Engineering"
],
keywords="qiskit sdk quantum machine learning ml",
packages=setuptools.find_packages(
diff --git a/tox.ini b/tox.ini
index f8f98c294..508192e22 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 = py39, py310, py311, py312, lint, gpu, gpu-amd
+envlist = py39, py310, py311, py312, py313, lint, gpu, gpu-amd
skipsdist = True
[testenv]
From 88eed2af55a57ad363acf80c6981a21c704968e1 Mon Sep 17 00:00:00 2001
From: Edoardo Altamura <38359901+edoaltamura@users.noreply.github.com>
Date: Thu, 3 Oct 2024 14:58:14 +0100
Subject: [PATCH 4/4] Add note for tutorial tests
---
.github/workflows/main.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 76026c815..3758cb82f 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -230,6 +230,7 @@ jobs:
with:
name: tutorials${{ matrix.python-version }}
path: docs/_build/html/artifacts/tutorials.tar.gz
+# UNCOMMENT AFTER THE 0.8 RELEASE ON PIPY
# - name: Run stable tutorials
# env:
# QISKIT_PARALLEL: False