diff --git a/.github/workflows/build_wheels_macos.yml b/.github/workflows/build_wheels_macos.yml index bfc61749..49398859 100644 --- a/.github/workflows/build_wheels_macos.yml +++ b/.github/workflows/build_wheels_macos.yml @@ -80,7 +80,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] platform: [x64] with_contrib: [0, 1] without_gui: [0, 1] diff --git a/.github/workflows/build_wheels_macos_m1.yml b/.github/workflows/build_wheels_macos_m1.yml index e38d286f..85265a5a 100644 --- a/.github/workflows/build_wheels_macos_m1.yml +++ b/.github/workflows/build_wheels_macos_m1.yml @@ -68,7 +68,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] platform: [x64] with_contrib: [0, 1] without_gui: [0, 1] diff --git a/.github/workflows/build_wheels_manylinux.yml b/.github/workflows/build_wheels_manylinux.yml index d24c1ebc..8abf61fb 100644 --- a/.github/workflows/build_wheels_manylinux.yml +++ b/.github/workflows/build_wheels_manylinux.yml @@ -23,12 +23,12 @@ jobs: shell: bash strategy: fail-fast: false - matrix: - python-version: ['3.9'] - platform: [x86_64, aarch64] - manylinux: [2014, 2_28] - with_contrib: [0, 1] - without_gui: [0, 1] + matrix: + python-version: ['3.9'] + platform: [x86_64, aarch64] + manylinux: [2014, 2_28] + with_contrib: [0, 1] + without_gui: [0, 1] build_sdist: [0] include: - platform: aarch64 @@ -60,7 +60,7 @@ jobs: SDIST: ${{ matrix.build_sdist || 0 }} ENABLE_HEADLESS: ${{ matrix.without_gui }} ENABLE_CONTRIB: ${{ matrix.with_contrib }} - + steps: - name: Cleanup run: find . -mindepth 1 -delete @@ -94,12 +94,12 @@ jobs: fail-fast: false matrix: python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] - platform: [x86_64, aarch64] + platform: [x86_64, aarch64] manylinux: [2014, 2_28] with_contrib: [0, 1] without_gui: [0, 1] build_sdist: [0] - + env: ACTIONS_ALLOW_UNSECURE_COMMANDS: true MB_PYTHON_VERSION: ${{ matrix.python-version }} @@ -107,7 +107,7 @@ jobs: NP_TEST_DEP_LATEST: numpy==2.2.6 CONFIG_PATH: travis_config.sh PLAT: ${{ matrix.platform }} - SDIST: ${{ matrix.build_sdist || 0 }} + SDIST: ${{ matrix.build_sdist || 0 }} ENABLE_HEADLESS: ${{ matrix.without_gui }} ENABLE_CONTRIB: ${{ matrix.with_contrib }} DOCKER_TEST_IMAGE: ${{ matrix.platform == 'aarch64' && 'quay.io/opencv-ci/multibuild-focal_arm64v8:2025-11-13' || '' }} @@ -120,9 +120,9 @@ jobs: with: submodules: true fetch-depth: 0 - + - name: Setup Environment variables - run: if [ "3.10" == "${{ matrix.python-version }}" -o "3.11" == "${{ matrix.python-version }}" -o "3.12" == "${{ matrix.python-version }}" -o "3.13" == "${{ matrix.python-version }}" ]; then echo "TEST_DEPENDS=$(echo $NP_TEST_DEP_LATEST)" >> $GITHUB_ENV; else echo "TEST_DEPENDS=$(echo $NP_TEST_DEP)" >> $GITHUB_ENV; fi + run: if [ "3.10" == "${{ matrix.python-version }}" -o "3.11" == "${{ matrix.python-version }}" -o "3.12" == "${{ matrix.python-version }}" -o "3.13" == "${{ matrix.python-version }}" -o "3.14" == "${{ matrix.python-version }}" ]; then echo "TEST_DEPENDS=$(echo $NP_TEST_DEP_LATEST)" >> $GITHUB_ENV; else echo "TEST_DEPENDS=$(echo $NP_TEST_DEP)" >> $GITHUB_ENV; fi - name: Download a wheel accordingly to matrix uses: actions/download-artifact@v4 with: @@ -240,7 +240,7 @@ jobs: - uses: actions/download-artifact@v4 with: path: wheelhouse/ - + - name: Upload all wheels run: | python -m pip install twine diff --git a/pyproject.toml b/pyproject.toml index 58fba213..ff65d776 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,6 +3,7 @@ requires = [ "numpy<2.0; python_version<'3.9'", "numpy==2.0.2; python_version>='3.9' and python_version<'3.13'", "numpy==2.1.3; python_version=='3.13'", + "numpy==2.3.2; python_version=='3.14'", "packaging", "pip", "scikit-build>=0.14.0", diff --git a/setup.py b/setup.py index eea13434..e25e51b2 100755 --- a/setup.py +++ b/setup.py @@ -298,6 +298,7 @@ def main(): "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: C++", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering",