diff --git a/.github/workflows/build-with-clang.yml b/.github/workflows/build-with-clang.yml index 83d2cbb3..55c5a0dc 100644 --- a/.github/workflows/build-with-clang.yml +++ b/.github/workflows/build-with-clang.yml @@ -14,6 +14,7 @@ jobs: strategy: matrix: + # TODO: add "3.15" back once mkl-service publishes a Python 3.15 wheel on PyPI python: ["3.10", "3.11", "3.12", "3.13", "3.14"] numpy_version: ["'numpy>=2'"] diff --git a/.github/workflows/build-with-standard-clang.yml b/.github/workflows/build-with-standard-clang.yml index 785a40d0..18f79293 100644 --- a/.github/workflows/build-with-standard-clang.yml +++ b/.github/workflows/build-with-standard-clang.yml @@ -14,6 +14,7 @@ jobs: strategy: matrix: + # TODO: add "3.15" back once mkl-service publishes a Python 3.15 wheel on PyPI python: ["3.10", "3.11", "3.12", "3.13", "3.14"] numpy_version: ["'numpy>=2'"] diff --git a/.github/workflows/build_pip.yml b/.github/workflows/build_pip.yml index 24c279c2..aac96915 100644 --- a/.github/workflows/build_pip.yml +++ b/.github/workflows/build_pip.yml @@ -18,7 +18,8 @@ jobs: strategy: matrix: - python: ["3.10", "3.11", "3.12", "3.13"] + # TODO: add "3.15" back once mkl-service publishes a Python 3.15 wheel on PyPI + python: ["3.10", "3.11", "3.12", "3.13", "3.14"] use_pre: ["", "--pre"] include: - python: "3.14" diff --git a/.github/workflows/conda-package-cf.yml b/.github/workflows/conda-package-cf.yml index 85969a7e..b12baa26 100644 --- a/.github/workflows/conda-package-cf.yml +++ b/.github/workflows/conda-package-cf.yml @@ -38,6 +38,8 @@ jobs: numpy: "2.3" python_spec: "3.14.* *_cp314t" python_tag: "3.14t" + - python: "3.15" + numpy: "2.5" steps: - name: Cancel Previous Runs @@ -96,7 +98,7 @@ jobs: strategy: matrix: - python: ["3.10", "3.11", "3.12", "3.13"] + python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] numpy: ['numpy">=2"'] experimental: [false] runner: [ubuntu-latest] @@ -198,6 +200,8 @@ jobs: numpy: "2.3" python_spec: "3.14.* *_cp314t" python_tag: "3.14t" + - python: "3.15" + numpy: "2.5" steps: - name: Cancel Previous Runs @@ -258,7 +262,7 @@ jobs: strategy: matrix: - python: ["3.10", "3.11", "3.12", "3.13"] + python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] numpy: ['numpy">=2"'] experimental: [false] runner: [windows-latest] diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index 670361bb..71f1e329 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -39,6 +39,9 @@ jobs: numpy: "2.3" python_spec: "3.14.* *_cp314t" python_tag: "3.14t" + - python: "3.15" + numpy: "2.5" + steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@d07a454dad7609a92316b57b23c9ccfd4f59af66 # 0.13.1 @@ -119,7 +122,7 @@ jobs: strategy: matrix: - python: ["3.10", "3.11", "3.12", "3.13"] + python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] numpy: ['numpy">=2"'] experimental: [false] runner: [ubuntu-latest] @@ -242,6 +245,9 @@ jobs: numpy: "2.3" python_spec: "3.14.* *_cp314t" python_tag: "3.14t" + - python: "3.15" + numpy: "2.5" + steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@d07a454dad7609a92316b57b23c9ccfd4f59af66 # 0.13.1 @@ -313,7 +319,7 @@ jobs: strategy: matrix: - python: ["3.10", "3.11", "3.12", "3.13"] + python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] numpy: ['numpy">=2"'] experimental: [false] runner: [windows-latest] diff --git a/CHANGELOG.md b/CHANGELOG.md index 047f0319..20e4eb4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added * Added support for free-threaded (GIL-disabled) CPython builds: the Cython extension is compiled with `freethreading_compatible=True` [gh-357](https://github.com/IntelPython/mkl_fft/pull/357) +* Enabled support of Python 3.15 [gh-378](https://github.com/IntelPython/mkl_fft/pull/378) ### Changed * Raised the minimum build-time `Cython` requirement to `3.1.0`, the first release providing the `freethreading_compatible` directive [gh-357](https://github.com/IntelPython/mkl_fft/pull/357) diff --git a/pyproject.toml b/pyproject.toml index 855f0e2c..635c7e46 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,6 +48,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", + "Programming Language :: Python :: 3.15", "Programming Language :: Python :: Free Threading :: 2 - Beta", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development", @@ -63,7 +64,7 @@ keywords = ["DFTI", "FFT", "Fourier", "MKL"] license = "BSD-3-Clause" name = "mkl_fft" readme = { file = "README.md", content-type = "text/markdown" } -requires-python = ">=3.10,<3.15" +requires-python = ">=3.10,<3.16" [project.optional-dependencies] benchmark = ["asv>=0.6", "psutil", "scipy>=1.10"]