diff --git a/.github/workflows/check-onemath.yaml b/.github/workflows/check-onemath.yaml index 1f820c475d7c..42454ecfcc4c 100644 --- a/.github/workflows/check-onemath.yaml +++ b/.github/workflows/check-onemath.yaml @@ -70,7 +70,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.13'] + python: ['3.13'] # no dpctl package on PyPI with enabled python 3.14 support os: [ubuntu-22.04] # windows-2022 - no DFT support for Windows in oneMKL runs-on: ${{ matrix.os }} @@ -159,7 +159,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.13'] + python: ['3.13'] # no dpctl package on PyPI with enabled python 3.14 support os: [ubuntu-22.04] # windows-2022 - no DFT support for Windows in oneMKL runs-on: ${{ matrix.os }} diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index 7c33bbe0a209..8b84b826776b 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -16,7 +16,7 @@ env: ver-script-part1: "import json; f = open('version.json', 'r'); j = json.load(f); f.close(); " ver-script-part2: "d = j['dpnp'][0]; print('='.join((d[s] for s in ('version', 'build'))))" fetch-depth: 1 - python-ver-test-all-dtypes: '3.13' + python-ver-test-all-dtypes: '3.14' test-env-name: 'test' rerun-tests-on-failure: 'true' rerun-tests-max-attempts: 2 @@ -29,7 +29,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] 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.9', '3.10', '3.11', '3.12', '3.13', '3.14'] 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.9', '3.10', '3.11', '3.12', '3.13', '3.14'] 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.9', '3.10', '3.11', '3.12', '3.13', '3.14'] 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..bc700eaa99a4 100644 --- a/.github/workflows/cron-run-tests.yaml +++ b/.github/workflows/cron-run-tests.yaml @@ -37,7 +37,7 @@ jobs: strategy: fail-fast: false matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] runner: [ubuntu-22.04, ubuntu-24.04, windows-2022] include: - python: 3.9 diff --git a/.github/workflows/pre-commit-autoupdate.yml b/.github/workflows/pre-commit-autoupdate.yml index aef5e16daad1..d8f2cdd0a3ca 100644 --- a/.github/workflows/pre-commit-autoupdate.yml +++ b/.github/workflows/pre-commit-autoupdate.yml @@ -29,7 +29,7 @@ jobs: - name: Set up python uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: - python-version: '3.13' + python-version: '3.14' - name: Install pre-commit run: pip install pre-commit diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index d1d2dbbae21a..f46438c88eb6 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -38,7 +38,7 @@ jobs: - name: Set up python uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: - python-version: '3.13' + python-version: '3.14' - name: Run pre-commit checks uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 diff --git a/CHANGELOG.md b/CHANGELOG.md index e69c47fd5ed1..7aec2fcb4ea6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.19.1] - 2025-11-XX + +This release achieves `dpnp` compatibility with Python 3.14 and enables distributing `dpnp` packages with the latest Python version. + +### Added + +* Enabled support of Python 3.14 [#2631](https://github.com/IntelPython/dpnp/pull/2631) + + ## [0.19.0] - 2025-10-06 This release introduces a set of new `dpnp.ndarray` methods and SciPy-compatible functions to improve CuPy compatibility. diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index af96e710de41..60fc246d6741 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -14,6 +14,7 @@ source: requirements: host: - python + - python-gil # [py>=314] - pip >=25.0 - pybind11 >=2.13.6 {% for dep in py_build_deps %} @@ -41,6 +42,7 @@ requirements: - {{ compiler('dpcpp') }} >={{ required_compiler_and_mkl_version }},<{{ max_compiler_and_mkl_version }} run: - python + - python-gil # [py>=314] - {{ pin_compatible('dpctl', min_pin='x.x.x', max_pin=None) }} - {{ pin_compatible('dpcpp-cpp-rt', min_pin='x.x', max_pin='x') }} - {{ pin_compatible('onemkl-sycl-blas', min_pin='x.x', max_pin='x') }} @@ -63,7 +65,7 @@ test: requires: - pytest - setuptools - - scipy # [py>39] + - scipy # [py>39,py<314] about: home: https://github.com/IntelPython/dpnp diff --git a/doc/quick_start_guide.rst b/doc/quick_start_guide.rst index 8aa86fd8e88f..e957baaaa31e 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.9, 3.10, 3.11, 3.12, 3.13 or 3.14 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/environments/build_conda_pkg.yml b/environments/build_conda_pkg.yml index f5d1ebcb62da..face05ec635c 100644 --- a/environments/build_conda_pkg.yml +++ b/environments/build_conda_pkg.yml @@ -2,5 +2,5 @@ name: Build DPNP conda package channels: - conda-forge dependencies: - - python=3.13 - - conda-build=25.7.0 + - python=3.13 # no python 3.14 support by conda-build + - conda-build=25.9.0 diff --git a/environments/building_docs.yml b/environments/building_docs.yml index f2df72a85ece..0857dd8431ba 100644 --- a/environments/building_docs.yml +++ b/environments/building_docs.yml @@ -2,7 +2,7 @@ name: Building docs specific packages channels: - conda-forge dependencies: - - python=3.13 + - python=3.13 # no dpctl package on PyPI with enabled python 3.14 support - cupy - sphinx - sphinx_rtd_theme diff --git a/environments/create_conda_channel.yml b/environments/create_conda_channel.yml index 8dc62a5099c0..aa136bc2dec8 100644 --- a/environments/create_conda_channel.yml +++ b/environments/create_conda_channel.yml @@ -2,5 +2,5 @@ name: Create conda channel with DPNP package channels: - conda-forge dependencies: - - python=3.13 - - conda-index=0.6.1 + - python=3.13 # no python 3.14 support by conda-index + - conda-index=0.7.0 diff --git a/pyproject.toml b/pyproject.toml index 5d92878f9067..0cfc14e95eb3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,6 +31,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development", @@ -70,7 +71,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.9,<3.15" [project.optional-dependencies] coverage = [ @@ -102,7 +103,7 @@ Repository = "https://github.com/IntelPython/dpnp.git" [tool.black] line-length = 80 -target-version = ['py39', 'py310', 'py311', 'py312', 'py313'] +target-version = ['py39', 'py310', 'py311', 'py312', 'py313', 'py314'] [tool.codespell] builtin = "clear,rare,informal,names"