From 5421d5a9dae552680f7f3daf2eeeff9898051c79 Mon Sep 17 00:00:00 2001 From: "Komarova, Evseniia" Date: Fri, 10 Oct 2025 12:25:23 +0200 Subject: [PATCH 01/19] Add 3.14 python --- CHANGELOG.md | 5 +++++ pyproject.toml | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de58258..e853e5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ 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). +## [dev] (MM/DD/YYYY) + +### Added +* Enabled support of Python 3.14 [gh-234](https://github.com/IntelPython/mkl_fft/pull/234) + ## [2.1.1] - 2025-10-09 ### Fixed diff --git a/pyproject.toml b/pyproject.toml index 3264dce..5c69aa2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,6 +43,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 :: Implementation :: CPython", "Topic :: Software Development", "Topic :: Scientific/Engineering", @@ -57,7 +58,7 @@ keywords = ["DFTI", "FFT", "Fourier", "MKL"] license = "BSD-3-Clause" name = "mkl_fft" readme = {file = "README.md", content-type = "text/markdown"} -requires-python = ">=3.9,<3.14" +requires-python = ">=3.9,<3.15" [project.optional-dependencies] scipy_interface = ["scipy>=1.10"] From e0eb454e997e72d0638604b8b59ce9e3076dc7ba Mon Sep 17 00:00:00 2001 From: "Komarova, Evseniia" Date: Fri, 10 Oct 2025 12:52:51 +0200 Subject: [PATCH 02/19] Add scipy restriction --- conda-recipe/meta.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index d071875..4e53a5c 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -34,7 +34,8 @@ test: - pytest -v --pyargs mkl_fft requires: - pytest - - scipy >=1.10 + # This is a temporary python restriction + - scipy >=1.10 # [py<314] imports: - mkl_fft - mkl_fft.interfaces From 17f2538f52e6f171be95cc7f864cd47941e014d8 Mon Sep 17 00:00:00 2001 From: "Komarova, Evseniia" Date: Fri, 10 Oct 2025 15:21:07 +0200 Subject: [PATCH 03/19] Do not use freethreading --- conda-recipe/conda_build_config.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conda-recipe/conda_build_config.yaml b/conda-recipe/conda_build_config.yaml index d6b54bb..06ec7db 100644 --- a/conda-recipe/conda_build_config.yaml +++ b/conda-recipe/conda_build_config.yaml @@ -14,3 +14,5 @@ cxx_compiler: # [win] - vs2017 # [win] c_compiler: # [win] - vs2017 # [win] +python: # [py314] + - 3.14.* *_cp314 # [py314] From f5770b760ddae3eb62b32b159b0e0e7ab94338d4 Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Fri, 10 Oct 2025 09:19:05 -0500 Subject: [PATCH 04/19] Explicitly pin to the GIL build metapackage. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `python-gil` is the conda-forge metapackage that guarantees GIL builds only. While conda-forge’s global conda_build_config.yaml defines both true and false variants of is_freethreading. --- conda-recipe/conda_build_config.yaml | 2 -- conda-recipe/meta.yaml | 6 ++++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/conda-recipe/conda_build_config.yaml b/conda-recipe/conda_build_config.yaml index 06ec7db..d6b54bb 100644 --- a/conda-recipe/conda_build_config.yaml +++ b/conda-recipe/conda_build_config.yaml @@ -14,5 +14,3 @@ cxx_compiler: # [win] - vs2017 # [win] c_compiler: # [win] - vs2017 # [win] -python: # [py314] - - 3.14.* *_cp314 # [py314] diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 4e53a5c..fbbc00a 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -17,7 +17,8 @@ requirements: - {{ compiler('c') }} - {{ stdlib('c') }} host: - - python + - python # [py<314] + - python-gil # [py>=314] - pip - setuptools >=77 - mkl-devel @@ -25,7 +26,8 @@ requirements: - numpy-base - wheel >=0.41.3 run: - - python + - python # [py<314] + - python-gil # [py>=314] - mkl-service - {{ pin_compatible('numpy-base') }} From d93fc2a01204268329b8d24c9ba7af4d16f459b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 11 Oct 2025 13:02:59 +0000 Subject: [PATCH 05/19] Bump github/codeql-action from 3.30.6 to 4.30.8 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.6 to 4.30.8. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/64d10c13136e1c5bce3e5fbde8d4906eeaafc885...f443b600d91635bebf5b0d9ebc620189c0d6fba5) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.30.8 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/openssf-scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/openssf-scorecard.yml b/.github/workflows/openssf-scorecard.yml index dc8aca6..16b6f26 100644 --- a/.github/workflows/openssf-scorecard.yml +++ b/.github/workflows/openssf-scorecard.yml @@ -69,6 +69,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@64d10c13136e1c5bce3e5fbde8d4906eeaafc885 # v3.30.6 + uses: github/codeql-action/upload-sarif@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.8 with: sarif_file: results.sarif From ca478f9521833703eef07d30065ab71b881a9653 Mon Sep 17 00:00:00 2001 From: Evseniia <70146207+ekomarova@users.noreply.github.com> Date: Tue, 14 Oct 2025 11:59:01 +0200 Subject: [PATCH 06/19] Remove python restriction --- conda-recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index fbbc00a..7b04eae 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -17,7 +17,7 @@ requirements: - {{ compiler('c') }} - {{ stdlib('c') }} host: - - python # [py<314] + - python - python-gil # [py>=314] - pip - setuptools >=77 @@ -26,7 +26,7 @@ requirements: - numpy-base - wheel >=0.41.3 run: - - python # [py<314] + - python - python-gil # [py>=314] - mkl-service - {{ pin_compatible('numpy-base') }} From 2a9d35d741972c5db9ab17dd5e2c103925de3917 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 18 Oct 2025 13:02:36 +0000 Subject: [PATCH 07/19] Bump github/codeql-action from 4.30.8 to 4.30.9 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.30.8 to 4.30.9. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/f443b600d91635bebf5b0d9ebc620189c0d6fba5...16140ae1a102900babc80a33c44059580f687047) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.30.9 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/openssf-scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/openssf-scorecard.yml b/.github/workflows/openssf-scorecard.yml index 16b6f26..5e73cfe 100644 --- a/.github/workflows/openssf-scorecard.yml +++ b/.github/workflows/openssf-scorecard.yml @@ -69,6 +69,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.8 + uses: github/codeql-action/upload-sarif@16140ae1a102900babc80a33c44059580f687047 # v4.30.9 with: sarif_file: results.sarif From 2319844d745e6b3c83f2fc32e91e8a26f7519768 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 25 Oct 2025 13:02:25 +0000 Subject: [PATCH 08/19] Bump actions/download-artifact from 5.0.0 to 6.0.0 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5.0.0 to 6.0.0. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/634f93cb2916e3fdff6788551b99b062d0335ce0...018cc2cf5baa6db3ef3c5f8a56943fffe632ef53) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/conda-package-cf.yml | 4 ++-- .github/workflows/conda-package.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/conda-package-cf.yml b/.github/workflows/conda-package-cf.yml index 1c69e07..8e1dbe1 100644 --- a/.github/workflows/conda-package-cf.yml +++ b/.github/workflows/conda-package-cf.yml @@ -97,7 +97,7 @@ jobs: steps: - name: Download artifact - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 with: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_ver }} @@ -240,7 +240,7 @@ jobs: steps: - name: Download artifact - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 with: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python_ver }} diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index b040f61..fa5526e 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -86,7 +86,7 @@ jobs: steps: - name: Download artifact - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 with: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} @@ -235,7 +235,7 @@ jobs: steps: - name: Download artifact - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0 + uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 with: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} From b723384c36e6dea08a0bcc7252396b00fdfcc74c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 25 Oct 2025 13:02:33 +0000 Subject: [PATCH 09/19] Bump github/codeql-action from 4.30.9 to 4.31.0 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.30.9 to 4.31.0. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/16140ae1a102900babc80a33c44059580f687047...4e94bd11f71e507f7f87df81788dff88d1dacbfb) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.31.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/openssf-scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/openssf-scorecard.yml b/.github/workflows/openssf-scorecard.yml index 5e73cfe..9ed3f3d 100644 --- a/.github/workflows/openssf-scorecard.yml +++ b/.github/workflows/openssf-scorecard.yml @@ -69,6 +69,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@16140ae1a102900babc80a33c44059580f687047 # v4.30.9 + uses: github/codeql-action/upload-sarif@4e94bd11f71e507f7f87df81788dff88d1dacbfb # v4.31.0 with: sarif_file: results.sarif From 8b0b76ed36e66abc0c2aa2b1ce9b8ebd49b809d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Oct 2025 09:58:00 +0000 Subject: [PATCH 10/19] Bump actions/upload-artifact from 4.6.2 to 5.0.0 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.2 to 5.0.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/ea165f8d65b6e75b540449e92b4886f43607fa02...330a01c490aca151604b8cf639adc76d48f6c5d4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/conda-package-cf.yml | 4 ++-- .github/workflows/conda-package.yml | 4 ++-- .github/workflows/openssf-scorecard.yml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/conda-package-cf.yml b/.github/workflows/conda-package-cf.yml index 8e1dbe1..195650d 100644 --- a/.github/workflows/conda-package-cf.yml +++ b/.github/workflows/conda-package-cf.yml @@ -76,7 +76,7 @@ jobs: conda-recipe-cf - name: Upload artifact - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} path: /usr/share/miniconda/conda-bld/linux-64/${{ env.PACKAGE_NAME }}-*.conda @@ -215,7 +215,7 @@ jobs: echo "CONDA_BLD=$CONDA/conda-bld/win-64/" | tr "\\\\" '/' >> $GITHUB_ENV - name: Upload artifact - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} path: ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.conda diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index fa5526e..fb47cb8 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -66,7 +66,7 @@ jobs: conda-recipe - name: Upload artifact - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} path: /usr/share/miniconda/conda-bld/linux-64/${{ env.PACKAGE_NAME }}-*.conda @@ -211,7 +211,7 @@ jobs: echo "CONDA_BLD=$CONDA/conda-bld/win-64/" | tr "\\\\" '/' >> $GITHUB_ENV - name: Upload artifact - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} path: ${{ env.CONDA_BLD }}${{ env.PACKAGE_NAME }}-*.conda diff --git a/.github/workflows/openssf-scorecard.yml b/.github/workflows/openssf-scorecard.yml index 5e73cfe..fa2d87a 100644 --- a/.github/workflows/openssf-scorecard.yml +++ b/.github/workflows/openssf-scorecard.yml @@ -61,7 +61,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 with: name: SARIF file path: results.sarif From 18c44e971a9818069f36190f4270ba62c69f715f Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Mon, 27 Oct 2025 14:13:09 -0700 Subject: [PATCH 11/19] remove import test for mkl_fft interfaces from conda recipe --- conda-recipe/meta.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index d071875..89480e1 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -38,8 +38,6 @@ test: imports: - mkl_fft - mkl_fft.interfaces - - mkl_fft.interfaces.numpy_fft - - mkl_fft.interfaces.scipy_fft about: home: http://github.com/IntelPython/mkl_fft From 3f68d32d01b04578902c9110c05df41d71d39077 Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Wed, 29 Oct 2025 11:29:28 -0700 Subject: [PATCH 12/19] Update CODEOWNERS --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f1770f0..cfca80b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @vtavana @ndgrigorian @antonwolfy @xaleryb @ekomarova +* @ndgrigorian @antonwolfy @xaleryb @jharlow-intel From f937387109136266fe34660e53b8db05c035e054 Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Wed, 29 Oct 2025 14:27:55 -0700 Subject: [PATCH 13/19] Drop support for Python 3.9 --- .github/workflows/build-with-clang.yml | 4 ++-- .github/workflows/build_pip.yaml | 2 +- .github/workflows/conda-package-cf.yml | 8 ++------ .github/workflows/conda-package.yml | 19 ++++++------------- pyproject.toml | 3 +-- 5 files changed, 12 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build-with-clang.yml b/.github/workflows/build-with-clang.yml index eab2c32..8ef9883 100644 --- a/.github/workflows/build-with-clang.yml +++ b/.github/workflows/build-with-clang.yml @@ -13,8 +13,8 @@ jobs: strategy: matrix: - python: ["3.9", "3.10", "3.11", "3.12", "3.13"] - numpy_version: ["numpy'<2'", "numpy'>=2'"] + python: ["3.10", "3.11", "3.12", "3.13"] + numpy_version: ["numpy'>=2'"] env: ONEAPI_ROOT: /opt/intel/oneapi diff --git a/.github/workflows/build_pip.yaml b/.github/workflows/build_pip.yaml index 974d0b2..4cfbce8 100644 --- a/.github/workflows/build_pip.yaml +++ b/.github/workflows/build_pip.yaml @@ -22,7 +22,7 @@ jobs: strategy: matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13'] use_pre: ["", "--pre"] steps: diff --git a/.github/workflows/conda-package-cf.yml b/.github/workflows/conda-package-cf.yml index 195650d..891aa95 100644 --- a/.github/workflows/conda-package-cf.yml +++ b/.github/workflows/conda-package-cf.yml @@ -21,8 +21,6 @@ jobs: strategy: matrix: include: - - python: '3.9' - numpy: '2.0' - python: '3.10' numpy: '2.2' - python: '3.11' @@ -87,7 +85,7 @@ jobs: strategy: matrix: - python_ver: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python_ver: ['3.10', '3.11', '3.12', '3.13'] numpy: ['numpy">=2"'] experimental: [false] runner: [ubuntu-latest] @@ -158,8 +156,6 @@ jobs: strategy: matrix: include: - - python: '3.9' - numpy: '2.0' - python: '3.10' numpy: '2.2' - python: '3.11' @@ -229,7 +225,7 @@ jobs: strategy: matrix: - python_ver: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python_ver: ['3.10', '3.11', '3.12', '3.13'] numpy: ['numpy">=2"'] experimental: [false] runner: [windows-latest] diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index fb47cb8..e58d1ee 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13'] steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 @@ -77,7 +77,7 @@ jobs: strategy: matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13'] experimental: [false] runner: [ubuntu-latest] continue-on-error: ${{ matrix.experimental }} @@ -141,12 +141,7 @@ jobs: run: | CHANNELS="-c $GITHUB_WORKSPACE/channel ${{ env.CHANNELS }}" conda create -n ${{ env.TEST_ENV_NAME }} $PACKAGE_NAME=${{ env.PACKAGE_VERSION }} python=${{ matrix.python }} pytest $CHANNELS - if [[ "${{ matrix.python }}" != 3.9* ]]; then - # Intel channel only has scipy=1.10 for Python 3.9, which needs mkl<2025 - # while scipy needs to install numpy and mkl_random and mkl_random-1.2.11 requires mkl>=2025 - # so avoid installing scipy for Python 3.9 which means third_party/scipy tests will not run - conda install -n ${{ env.TEST_ENV_NAME }} "scipy>=1.10" $CHANNELS - fi + conda install -n ${{ env.TEST_ENV_NAME }} "scipy>=1.10" $CHANNELS # Test installed packages conda list -n ${{ env.TEST_ENV_NAME }} @@ -161,7 +156,7 @@ jobs: strategy: matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13'] steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 @@ -225,7 +220,7 @@ jobs: strategy: matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13'] experimental: [false] runner: [windows-latest] continue-on-error: ${{ matrix.experimental }} @@ -315,10 +310,8 @@ jobs: ) SET "TEST_DEPENDENCIES=pytest" conda install -n ${{ env.TEST_ENV_NAME }} ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% %TEST_DEPENDENCIES% python=${{ matrix.python }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} - if ("${{ matrix.python }}" -ne "3.9") { - conda install -n ${{ env.TEST_ENV_NAME }} scipy -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} + conda install -n ${{ env.TEST_ENV_NAME }} scipy -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} } - - name: Report content of test environment shell: cmd /C CALL {0} run: | diff --git a/pyproject.toml b/pyproject.toml index 3264dce..021515d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,6 @@ classifiers = [ "Programming Language :: C", "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", @@ -57,7 +56,7 @@ keywords = ["DFTI", "FFT", "Fourier", "MKL"] license = "BSD-3-Clause" name = "mkl_fft" readme = {file = "README.md", content-type = "text/markdown"} -requires-python = ">=3.9,<3.14" +requires-python = ">=3.10,<3.14" [project.optional-dependencies] scipy_interface = ["scipy>=1.10"] From f0f7221cd440e73ca3c0d25af5a0cddc4e269077 Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Wed, 29 Oct 2025 14:37:01 -0700 Subject: [PATCH 14/19] Update CHANGELOG --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index de58258..260027c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ 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). +## [dev] - YYYY-MM-DD + +### Removed +* Dropped support for Python 3.9 [gh-243](https://github.com/IntelPython/mkl_fft/pull/243) + ## [2.1.1] - 2025-10-09 ### Fixed From 1058f335cfaeb5ad35f7b023edff7025728dc08a Mon Sep 17 00:00:00 2001 From: Nikita Grigorian Date: Thu, 30 Oct 2025 12:31:40 -0700 Subject: [PATCH 15/19] Update test_basic third party tests --- mkl_fft/tests/third_party/scipy/test_basic.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mkl_fft/tests/third_party/scipy/test_basic.py b/mkl_fft/tests/third_party/scipy/test_basic.py index c18c593..25cd3d6 100644 --- a/mkl_fft/tests/third_party/scipy/test_basic.py +++ b/mkl_fft/tests/third_party/scipy/test_basic.py @@ -17,10 +17,7 @@ except ImportError: pytest.skip("This test file needs scipy", allow_module_level=True) else: - if np.lib.NumpyVersion(scipy.__version__) < "1.12.0": - # scipy from Intel channel is 1.10 with python 3.9 and 3.10 - pytest.skip("This test file needs scipy>=1.12", allow_module_level=True) - elif np.lib.NumpyVersion(scipy.__version__) < "1.14.0": + if np.lib.NumpyVersion(scipy.__version__) < "1.14.0": # For python-3.11 and 3.12, scipy<1.14 is installed from Intel channel # For python<=3.9, scipy<1.14 is installed from conda channel # pylint: disable=no-name-in-module From 408e91413fe623b8a56d66c26477d123caf51747 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Nov 2025 13:03:02 +0000 Subject: [PATCH 16/19] Bump github/codeql-action from 4.31.0 to 4.31.2 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.0 to 4.31.2. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/4e94bd11f71e507f7f87df81788dff88d1dacbfb...0499de31b99561a6d14a36a5f662c2a54f91beee) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.31.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/openssf-scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/openssf-scorecard.yml b/.github/workflows/openssf-scorecard.yml index abec0dd..6a56ecc 100644 --- a/.github/workflows/openssf-scorecard.yml +++ b/.github/workflows/openssf-scorecard.yml @@ -69,6 +69,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@4e94bd11f71e507f7f87df81788dff88d1dacbfb # v4.31.0 + uses: github/codeql-action/upload-sarif@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2 with: sarif_file: results.sarif From ad829fa08a67c11c3ad64ff31d9ff45cb17bc924 Mon Sep 17 00:00:00 2001 From: "Harlow, Jordan" Date: Mon, 3 Nov 2025 10:38:39 -0700 Subject: [PATCH 17/19] fix: precommit check --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 97c5f99..d3f6029 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,7 +59,6 @@ name = "mkl_fft" readme = {file = "README.md", content-type = "text/markdown"} requires-python = ">=3.10,<3.15" - [project.optional-dependencies] scipy_interface = ["scipy>=1.10"] test = ["pytest", "scipy>=1.10"] From 26d00aacff73cb1e420967281a237f5ae0437468 Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Thu, 13 Nov 2025 07:32:57 -0600 Subject: [PATCH 18/19] Bump version to 2.2.0dev0 --- conda-recipe-cf/meta.yaml | 2 +- mkl_fft/_version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda-recipe-cf/meta.yaml b/conda-recipe-cf/meta.yaml index 9265287..de4af76 100644 --- a/conda-recipe-cf/meta.yaml +++ b/conda-recipe-cf/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.1.1" %} +{% set version = "2.2.0dev0" %} {% set buildnumber = 0 %} package: diff --git a/mkl_fft/_version.py b/mkl_fft/_version.py index 58039f5..1916396 100644 --- a/mkl_fft/_version.py +++ b/mkl_fft/_version.py @@ -1 +1 @@ -__version__ = "2.1.1" +__version__ = "2.2.0dev0" From ec1883190fe91c5065264565afbfec3dff36de19 Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Thu, 13 Nov 2025 07:34:00 -0600 Subject: [PATCH 19/19] Fix merge leftover from the changelog --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8baa719..44d0f4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,10 @@ 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). -## [dev] (MM/DD/YYYY) +## [dev] - YYYY-MM-DD ### Added * Enabled support of Python 3.14 [gh-234](https://github.com/IntelPython/mkl_fft/pull/234) -## [dev] - YYYY-MM-DD ### Removed * Dropped support for Python 3.9 [gh-243](https://github.com/IntelPython/mkl_fft/pull/243)