diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index 7c33bbe0a20..1d1c825ffbe 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 786b711d6d5..2acee9bdcf1 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/CHANGELOG.md b/CHANGELOG.md index 7ab65f4381e..7b989ffab54 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 diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index c7160b76a2e..5fe753fadce 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 8aa86fd8e88..a68671f676f 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 46c7271a3ef..22642005774 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 9d53d3ed2fb..68a54aa095e 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"