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