From b1b3dce2defa8308fcf326793ac91e276d281d15 Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Fri, 17 Oct 2025 13:36:42 +0200 Subject: [PATCH 1/3] Drop support python 3.9 --- .github/workflows/conda-package.yml | 8 ++++---- .github/workflows/cron-run-tests.yaml | 19 ++++--------------- conda-recipe/meta.yaml | 2 +- doc/quick_start_guide.rst | 2 +- dpnp/tests/test_fft.py | 1 - pyproject.toml | 5 ++--- 6 files changed, 12 insertions(+), 25 deletions(-) diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index 7c33bbe0a209..1d1c825ffbe2 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -29,7 +29,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13'] os: [ubuntu-22.04, windows-2022] permissions: @@ -128,7 +128,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13'] os: [ubuntu-latest] env: @@ -256,7 +256,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13'] os: [windows-2022] env: @@ -405,7 +405,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13'] os: [ubuntu-22.04, windows-2022] runs-on: ${{ matrix.os }} diff --git a/.github/workflows/cron-run-tests.yaml b/.github/workflows/cron-run-tests.yaml index 786b711d6d56..2acee9bdcf17 100644 --- a/.github/workflows/cron-run-tests.yaml +++ b/.github/workflows/cron-run-tests.yaml @@ -13,6 +13,7 @@ env: package-name: dpnp channels-list: '-c dppy/label/dev -c https://software.repos.intel.com/python/conda/ -c conda-forge --override-channels' test-env-name: test + test-packages: 'pytest scipy' rerun-tests-max-attempts: 2 rerun-tests-timeout: 20 @@ -37,20 +38,8 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13'] runner: [ubuntu-22.04, ubuntu-24.04, windows-2022] - include: - - python: 3.9 - # do not install scipy due to import issue - test-packages: "pytest" - - python: 3.10 - test-packages: "pytest scipy" - - python: 3.11 - test-packages: "pytest scipy" - - python: 3.12 - test-packages: "pytest scipy" - - python: 3.13 - test-packages: "pytest scipy" steps: - name: Cancel Previous Runs @@ -96,12 +85,12 @@ jobs: id: install_dpnp continue-on-error: true run: | - mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} ${{ matrix.test-packages }} ${{ env.channels-list }} + mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} ${{ env.test-packages }} ${{ env.channels-list }} - name: ReInstall dpnp if: steps.install_dpnp.outcome == 'failure' run: | - mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} ${{ matrix.test-packages }} ${{ env.channels-list }} + mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} ${{ env.test-packages }} ${{ env.channels-list }} - name: List installed packages run: mamba list diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index c7160b76a2ea..5fe753fadcee 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -63,7 +63,7 @@ test: requires: - pytest - setuptools - - scipy # [py>39] + - scipy about: home: https://github.com/IntelPython/dpnp diff --git a/doc/quick_start_guide.rst b/doc/quick_start_guide.rst index 8aa86fd8e88f..a68671f676fa 100644 --- a/doc/quick_start_guide.rst +++ b/doc/quick_start_guide.rst @@ -24,7 +24,7 @@ Follow device driver installation instructions to complete the step. Python Interpreter ================== -You will need Python 3.9, 3.10, 3.11, 3.12 or 3.13 installed on your system. If you +You will need Python 3.10, 3.11, 3.12 or 3.13 installed on your system. If you do not have one yet the easiest way to do that is to install `Intel Distribution for Python*`_. It installs all essential Python numerical and machine learning packages optimized for the Intel hardware, including diff --git a/dpnp/tests/test_fft.py b/dpnp/tests/test_fft.py index 46c7271a3efd..226420057748 100644 --- a/dpnp/tests/test_fft.py +++ b/dpnp/tests/test_fft.py @@ -261,7 +261,6 @@ def test_error(self, xp): if xp == dpnp: # dpnp and stock NumPy raise TypeError # Intel NumPy raises SystemError for Python 3.10 and 3.11 - # and no error for Python 3.9 assert_raises(TypeError, xp.fft.fft, a, n=5.0) # Invalid number of FFT point for incorrect n value diff --git a/pyproject.toml b/pyproject.toml index 9d53d3ed2fb0..68a54aa095e6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,6 @@ classifiers = [ "Programming Language :: Cython", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", @@ -71,7 +70,7 @@ license-files = ["LICENSE.txt"] maintainers = [{name = "Intel Corporation"}] name = "dpnp" readme = {file = "README.md", content-type = "text/markdown"} -requires-python = ">=3.9,<3.14" +requires-python = ">=3.10,<3.14" [project.optional-dependencies] coverage = [ @@ -103,7 +102,7 @@ Repository = "https://github.com/IntelPython/dpnp.git" [tool.black] line-length = 80 -target-version = ['py39', 'py310', 'py311', 'py312', 'py313'] +target-version = ['py310', 'py311', 'py312', 'py313'] [tool.codespell] builtin = "clear,rare,informal,names" From 42321364f0a65025afc466a291de6038691e0a69 Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Fri, 17 Oct 2025 13:39:59 +0200 Subject: [PATCH 2/3] Add PR to the changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ab65f4381e8..7b989ffab54a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.20.0] - MM/DD/2026 This release changes the license from `BSD-2-Clause` to `BSD-3-Clause`. +The release stops supporting python 3.9, and so python 3.10 is a minimum required version since now. ### Added @@ -24,6 +25,8 @@ This release changes the license from `BSD-2-Clause` to `BSD-3-Clause`. ### Removed +* Dropped support of python 3.9 [#2626](https://github.com/IntelPython/dpnp/pull/2626) + ### Fixed ### Security From c4fea1b91564c23c0dbca11eae1fac6ff251dff6 Mon Sep 17 00:00:00 2001 From: Anton <100830759+antonwolfy@users.noreply.github.com> Date: Mon, 20 Oct 2025 18:44:09 +0200 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: vlad-perevezentsev --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b989ffab54a..15f1840317a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.20.0] - MM/DD/2026 This release changes the license from `BSD-2-Clause` to `BSD-3-Clause`. -The release stops supporting python 3.9, and so python 3.10 is a minimum required version since now. +The release drops support for Python 3.9, making Python 3.10 the minimum required version. ### Added @@ -25,7 +25,7 @@ The release stops supporting python 3.9, and so python 3.10 is a minimum require ### Removed -* Dropped support of python 3.9 [#2626](https://github.com/IntelPython/dpnp/pull/2626) +* Dropped support for Python 3.9 [#2626](https://github.com/IntelPython/dpnp/pull/2626) ### Fixed