Skip to content

Commit aae2dc0

Browse files
authored
Drop support python 3.9 (#2626)
The PR drop support of python 3.10 and sets python 3.10 as a minimum required.
1 parent 37f77a4 commit aae2dc0

File tree

7 files changed

+15
-25
lines changed

7 files changed

+15
-25
lines changed

.github/workflows/conda-package.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
strategy:
3030
fail-fast: false
3131
matrix:
32-
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
32+
python: ['3.10', '3.11', '3.12', '3.13']
3333
os: [ubuntu-22.04, windows-2022]
3434

3535
permissions:
@@ -128,7 +128,7 @@ jobs:
128128
strategy:
129129
fail-fast: false
130130
matrix:
131-
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
131+
python: ['3.10', '3.11', '3.12', '3.13']
132132
os: [ubuntu-latest]
133133

134134
env:
@@ -256,7 +256,7 @@ jobs:
256256
strategy:
257257
fail-fast: false
258258
matrix:
259-
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
259+
python: ['3.10', '3.11', '3.12', '3.13']
260260
os: [windows-2022]
261261

262262
env:
@@ -405,7 +405,7 @@ jobs:
405405
strategy:
406406
fail-fast: false
407407
matrix:
408-
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
408+
python: ['3.10', '3.11', '3.12', '3.13']
409409
os: [ubuntu-22.04, windows-2022]
410410

411411
runs-on: ${{ matrix.os }}

.github/workflows/cron-run-tests.yaml

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ env:
1313
package-name: dpnp
1414
channels-list: '-c dppy/label/dev -c https://software.repos.intel.com/python/conda/ -c conda-forge --override-channels'
1515
test-env-name: test
16+
test-packages: 'pytest scipy'
1617
rerun-tests-max-attempts: 2
1718
rerun-tests-timeout: 20
1819

@@ -37,20 +38,8 @@ jobs:
3738
strategy:
3839
fail-fast: false
3940
matrix:
40-
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
41+
python: ['3.10', '3.11', '3.12', '3.13']
4142
runner: [ubuntu-22.04, ubuntu-24.04, windows-2022]
42-
include:
43-
- python: 3.9
44-
# do not install scipy due to import issue
45-
test-packages: "pytest"
46-
- python: 3.10
47-
test-packages: "pytest scipy"
48-
- python: 3.11
49-
test-packages: "pytest scipy"
50-
- python: 3.12
51-
test-packages: "pytest scipy"
52-
- python: 3.13
53-
test-packages: "pytest scipy"
5443

5544
steps:
5645
- name: Cancel Previous Runs
@@ -96,12 +85,12 @@ jobs:
9685
id: install_dpnp
9786
continue-on-error: true
9887
run: |
99-
mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} ${{ matrix.test-packages }} ${{ env.channels-list }}
88+
mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} ${{ env.test-packages }} ${{ env.channels-list }}
10089
10190
- name: ReInstall dpnp
10291
if: steps.install_dpnp.outcome == 'failure'
10392
run: |
104-
mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} ${{ matrix.test-packages }} ${{ env.channels-list }}
93+
mamba install ${{ env.package-name }}=${{ steps.find_latest_tag.outputs.tag }} ${{ env.test-packages }} ${{ env.channels-list }}
10594
10695
- name: List installed packages
10796
run: mamba list

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
## [0.20.0] - MM/DD/2026
88

99
This release changes the license from `BSD-2-Clause` to `BSD-3-Clause`.
10+
The release drops support for Python 3.9, making Python 3.10 the minimum required version.
1011

1112
### Added
1213

@@ -24,6 +25,8 @@ This release changes the license from `BSD-2-Clause` to `BSD-3-Clause`.
2425

2526
### Removed
2627

28+
* Dropped support for Python 3.9 [#2626](https://github.com/IntelPython/dpnp/pull/2626)
29+
2730
### Fixed
2831

2932
### Security

conda-recipe/meta.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ test:
6363
requires:
6464
- pytest
6565
- setuptools
66-
- scipy # [py>39]
66+
- scipy
6767

6868
about:
6969
home: https://github.com/IntelPython/dpnp

doc/quick_start_guide.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Follow device driver installation instructions to complete the step.
2424
Python Interpreter
2525
==================
2626

27-
You will need Python 3.9, 3.10, 3.11, 3.12 or 3.13 installed on your system. If you
27+
You will need Python 3.10, 3.11, 3.12 or 3.13 installed on your system. If you
2828
do not have one yet the easiest way to do that is to install
2929
`Intel Distribution for Python*`_. It installs all essential Python numerical
3030
and machine learning packages optimized for the Intel hardware, including

dpnp/tests/test_fft.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,6 @@ def test_error(self, xp):
261261
if xp == dpnp:
262262
# dpnp and stock NumPy raise TypeError
263263
# Intel NumPy raises SystemError for Python 3.10 and 3.11
264-
# and no error for Python 3.9
265264
assert_raises(TypeError, xp.fft.fft, a, n=5.0)
266265

267266
# Invalid number of FFT point for incorrect n value

pyproject.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ classifiers = [
2727
"Programming Language :: Cython",
2828
"Programming Language :: Python",
2929
"Programming Language :: Python :: 3",
30-
"Programming Language :: Python :: 3.9",
3130
"Programming Language :: Python :: 3.10",
3231
"Programming Language :: Python :: 3.11",
3332
"Programming Language :: Python :: 3.12",
@@ -71,7 +70,7 @@ license-files = ["LICENSE.txt"]
7170
maintainers = [{name = "Intel Corporation"}]
7271
name = "dpnp"
7372
readme = {file = "README.md", content-type = "text/markdown"}
74-
requires-python = ">=3.9,<3.14"
73+
requires-python = ">=3.10,<3.14"
7574

7675
[project.optional-dependencies]
7776
coverage = [
@@ -103,7 +102,7 @@ Repository = "https://github.com/IntelPython/dpnp.git"
103102

104103
[tool.black]
105104
line-length = 80
106-
target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
105+
target-version = ['py310', 'py311', 'py312', 'py313']
107106

108107
[tool.codespell]
109108
builtin = "clear,rare,informal,names"

0 commit comments

Comments
 (0)