From 4144929282cdb9c3fb3e7b5b0410552d3ad43dad Mon Sep 17 00:00:00 2001 From: Ruben Di Battista Date: Sat, 12 Oct 2024 12:43:50 +0200 Subject: [PATCH 1/3] MNT: Add python 3.13 build Fix #459 --- .github/workflows/ci.yml | 2 +- RELEASE.rst | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 62368215b..2475559a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] numpy-version: [""] architecture: [x86, x64] os: diff --git a/RELEASE.rst b/RELEASE.rst index 90b2b89ed..42e08d2ef 100644 --- a/RELEASE.rst +++ b/RELEASE.rst @@ -6,6 +6,15 @@ Release Notes These are the major changes made in each release. For details of the changes see the commit log at https://github.com/pydata/bottleneck +Bottleneck 1.4.1 +================ + +*Release date: 2024-10-12 + +Enhancements +~~~~~~~~~~~~ +- Add python 3.13 build + Bottleneck 1.4.0 ================ From 4a3cd270513c5b651e9cc90e74781011ce04ac4f Mon Sep 17 00:00:00 2001 From: Ruben Di Battista Date: Sat, 12 Oct 2024 12:50:04 +0200 Subject: [PATCH 2/3] MNT: Remove special branch for numpy 2 now that is released --- .github/workflows/ci.yml | 10 ++-------- pyproject.toml | 3 +++ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2475559a5..5048e8ed7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,6 @@ jobs: strategy: matrix: python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] - numpy-version: [""] architecture: [x86, x64] os: [ @@ -28,11 +27,6 @@ jobs: architecture: x86 - os: macos-12 architecture: x86 - include: - - python-version: "3.12" - numpy-version: ">=2.0.0rc1" - architecture: x64 - os: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -49,7 +43,7 @@ jobs: - name: Test with pytest run: | - pip install pytest "numpy${{ matrix.numpy-version }}" + pip install pytest pytest --pyargs bottleneck check: @@ -72,7 +66,7 @@ jobs: fetch-depth: 0 - name: Build wheels - uses: pypa/cibuildwheel@v2.16.5 + uses: pypa/cibuildwheel@v2.21.3 env: CIBW_SKIP: pp* cp36-* diff --git a/pyproject.toml b/pyproject.toml index 5861d9105..4f1b8741a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,6 +4,9 @@ requires = [ "versioneer", "wheel", "oldest-supported-numpy ; python_version < '3.9'", + # Setuptools has removed support for msvccompiler + # this is needed to build old versions of bottleneck + "setuptools<74 ; python_version < '3.9'", # Comments on numpy build requirement range: # # 1. >=2.0.x is the numpy requirement for wheel builds for distribution From 6274b61eb46f0e66d9eb562d2d623af9b62d7bfb Mon Sep 17 00:00:00 2001 From: botpub Date: Sun, 13 Oct 2024 20:06:42 +0200 Subject: [PATCH 3/3] MNT: Deprecate python 3.7 and 3.8 `setuptools` has removed some stuff needed to build numpy on old platforms: https://github.com/numpy/numpy/issues/27405 So the musllinux distributions on 3.8 don't build anymore. I tried to enforce setuptools<74 for python < 3.9, but it seems pip doesn't guarantee the order of the dependencies, so `oldest-supported-numpy` gets installed before setuptools is, failing... For simplicity I'm removing support for these versions --- .github/workflows/ci.yml | 4 ++-- RELEASE.rst | 1 + pyproject.toml | 8 +++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5048e8ed7..bdcd62749 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] architecture: [x86, x64] os: [ @@ -68,7 +68,7 @@ jobs: - name: Build wheels uses: pypa/cibuildwheel@v2.21.3 env: - CIBW_SKIP: pp* cp36-* + CIBW_SKIP: pp* cp36-* cp37-* cp38-* - name: Store wheel artifacts uses: actions/upload-artifact@v4 diff --git a/RELEASE.rst b/RELEASE.rst index 42e08d2ef..36ce60a16 100644 --- a/RELEASE.rst +++ b/RELEASE.rst @@ -13,6 +13,7 @@ Bottleneck 1.4.1 Enhancements ~~~~~~~~~~~~ +- Deprecate Python 3.7 and 3.8 - Add python 3.13 build Bottleneck 1.4.0 diff --git a/pyproject.toml b/pyproject.toml index 4f1b8741a..3a5ff500a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,12 +1,10 @@ [build-system] requires = [ + # Setuptools has removed support for msvccompiler + # this is needed to build old versions of bottleneck "setuptools", "versioneer", "wheel", - "oldest-supported-numpy ; python_version < '3.9'", - # Setuptools has removed support for msvccompiler - # this is needed to build old versions of bottleneck - "setuptools<74 ; python_version < '3.9'", # Comments on numpy build requirement range: # # 1. >=2.0.x is the numpy requirement for wheel builds for distribution @@ -17,5 +15,5 @@ requires = [ # and disabling build isolation. # 3. The <2.3 upper bound is for matching the numpy deprecation policy, # it should not be loosened - "numpy>=2.0.0rc1,<2.3 ; python_version >= '3.9'", + "numpy>=2,<2.3" ]