diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 718cdeb..2a687b1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @ndgrigorian @antonwolfy @xaleryb @ekomarova +* @ndgrigorian @antonwolfy @xaleryb @jharlow-intel diff --git a/.github/workflows/build-with-clang.yml b/.github/workflows/build-with-clang.yml index 6fee2d7..c15e4bb 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 @@ -25,7 +25,7 @@ jobs: steps: - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.12.1 + uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 with: access_token: ${{ github.token }} @@ -44,13 +44,13 @@ jobs: sudo apt-get install intel-oneapi-mkl-devel - name: Setup Python - uses: actions/setup-python@v6.0.0 + uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: ${{ matrix.python }} architecture: x64 - name: Checkout repo - uses: actions/checkout@v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: fetch-depth: 0 diff --git a/.github/workflows/build_pip.yaml b/.github/workflows/build_pip.yaml index 0eef846..0acc9f2 100644 --- a/.github/workflows/build_pip.yaml +++ b/.github/workflows/build_pip.yaml @@ -17,7 +17,7 @@ jobs: strategy: matrix: - python: ['3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.10', '3.11', '3.12', '3.13', '3.14'] use_pre: ["", "--pre"] steps: @@ -27,11 +27,11 @@ jobs: sudo apt-get install jq - name: Checkout repo - uses: actions/checkout@v5.0.0 + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: fetch-depth: 0 - - uses: conda-incubator/setup-miniconda@v3.1.1 + - uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f # v3.2.0 with: use-mamba: true miniforge-version: latest diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index 6050bd8..3ae1e96 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -18,13 +18,13 @@ 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 with: access_token: ${{ github.token }} - - uses: actions/checkout@v5.0.0 + - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: fetch-depth: 0 @@ -33,7 +33,7 @@ jobs: echo "pkgs_dirs: [~/.conda/pkgs]" >> ~/.condarc - name: Cache conda packages - uses: actions/cache@v4 + uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 env: CACHE_NUMBER: 0 # Increase to reset cache with: @@ -64,7 +64,7 @@ jobs: conda-recipe - name: Upload artifact - uses: actions/upload-artifact@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 @@ -75,7 +75,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 }} @@ -84,7 +84,7 @@ jobs: steps: - name: Download artifact - uses: actions/download-artifact@v5 + uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 with: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} - name: Add conda to system path @@ -111,7 +111,7 @@ jobs: echo "pkgs_dirs: [~/.conda/pkgs]" >> ~/.condarc - name: Cache conda packages - uses: actions/cache@v4 + uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 env: CACHE_NUMBER: 0 # Increase to reset cache with: @@ -146,7 +146,7 @@ jobs: strategy: matrix: - python: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python: ["3.10", "3.11", "3.12", "3.13"] env: conda-bld: C:\Miniconda\conda-bld\win-64\ steps: @@ -154,11 +154,11 @@ jobs: uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 with: access_token: ${{ github.token }} - - uses: actions/checkout@v5.0.0 + - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: fetch-depth: 0 - - uses: conda-incubator/setup-miniconda@v3 + - uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f # v3.2.0 with: miniforge-variant: Miniforge3 miniforge-version: latest @@ -168,7 +168,7 @@ jobs: python-version: ${{ matrix.python }} - name: Cache conda packages - uses: actions/cache@v4 + uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 env: CACHE_NUMBER: 3 # Increase to reset cache with: @@ -196,7 +196,7 @@ jobs: conda build --no-test --python ${{ matrix.python }} -c https://software.repos.intel.com/python/conda -c conda-forge --override-channels conda-recipe - name: Upload artifact - uses: actions/upload-artifact@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 @@ -209,7 +209,7 @@ jobs: shell: cmd /C CALL {0} 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 }} @@ -219,11 +219,11 @@ jobs: steps: - name: Download artifact - uses: actions/download-artifact@v5 + uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 with: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} - - uses: conda-incubator/setup-miniconda@v3 + - uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f # v3.2.0 with: miniforge-variant: Miniforge3 miniforge-version: latest @@ -286,7 +286,7 @@ jobs: run: Get-Content -Path .\lockfile - name: Cache conda packages - uses: actions/cache@v4 + uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 env: CACHE_NUMBER: 0 # Increase to reset cache with: diff --git a/.github/workflows/openssf-scorecard.yml b/.github/workflows/openssf-scorecard.yml index ae4a470..9303d74 100644 --- a/.github/workflows/openssf-scorecard.yml +++ b/.github/workflows/openssf-scorecard.yml @@ -36,12 +36,12 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + uses: actions/checkout@71cf2267d89c5cb81562390fa70a37fa40b1305e # v6.pre.beta with: persist-credentials: false - name: "Run analysis" - uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2 + uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3 with: results_file: results.sarif results_format: sarif @@ -63,7 +63,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.4.1 + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v4.4.1 with: name: SARIF file path: results.sarif @@ -71,6 +71,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@192325c86100d080feab897ff886c34abd4c83a3 # v3.29.8 + uses: github/codeql-action/upload-sarif@0499de31b99561a6d14a36a5f662c2a54f91beee # v3.29.8 with: sarif_file: results.sarif diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c2cc09..c794a9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +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). -## [dev] - YYYY-MM-DD +## [dev] (MM/DD/YYYY) + +### Added +* Enabled support of Python 3.14 [gh-119](https://github.com/IntelPython/mkl_umath/pull/119) + +### Removed +* Dropped support for Python 3.9 [gh-125](https://github.com/IntelPython/mkl_umath/pull/125) + +## [0.3.0] - 2025-10-06 ### Added * Added mkl implementation for floating point data-types of `exp2`, `log2`, `fabs`, `copysign`, `nextafter`, `fmax`, `fmin` and `remainder` functions [gh-81](https://github.com/IntelPython/mkl_umath/pull/81) @@ -14,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed * Dropped support for `maximum` and `minimum` [gh-104](https://github.com/IntelPython/mkl_umath/pull/104) +* Disabled `-fast-math` by default [gh-105](https://github.com/IntelPython/mkl_umath/pull/105) * Used a common umath loop for `log2` function to match NumPy [gh-109](https://github.com/IntelPython/mkl_umath/pull/109) * Dropped support for `remainder` function [gh-110](https://github.com/IntelPython/mkl_umath/pull/110) diff --git a/conda-recipe-cf/meta.yaml b/conda-recipe-cf/meta.yaml index 88db762..3d9f19a 100644 --- a/conda-recipe-cf/meta.yaml +++ b/conda-recipe-cf/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "0.3.0dev1" %} +{% set version = "0.4.0dev0" %} {% set buildnumber = 0 %} package: diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 9f8a1e2..38ea112 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -26,12 +26,14 @@ requirements: - cython - scikit-build - python + - python-gil # [py>=314] - mkl-devel - tbb-devel - numpy-base - wheel >=0.41.3 run: - python + - python-gil # [py>=314] - mkl-service - {{ pin_compatible('intel-cmplr-lib-rt') }} - {{ pin_compatible('numpy-base') }} diff --git a/mkl_umath/_version.py b/mkl_umath/_version.py index 86c8508..5a7b2c3 100644 --- a/mkl_umath/_version.py +++ b/mkl_umath/_version.py @@ -1 +1 @@ -__version__ = '0.3.0dev1' +__version__ = '0.4.0dev0' diff --git a/pyproject.toml b/pyproject.toml index bf9cd2e..fde6b4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,11 +45,11 @@ 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", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development", "Topic :: Scientific/Engineering", @@ -64,7 +64,7 @@ keywords = ["mkl_umath"] license = "BSD-3-Clause" name = "mkl_umath" readme = {file = "README.md", content-type = "text/markdown"} -requires-python = ">=3.9,<3.14" +requires-python = ">=3.10,<3.15" [project.optional-dependencies]