From f62337a3898efaeac7e7ea56c93fcfb1ebadc66c Mon Sep 17 00:00:00 2001 From: Tom Gillam Date: Thu, 23 Oct 2025 09:14:06 +0100 Subject: [PATCH 1/7] python 3.14 and aarch64 linux wheels --- .github/workflows/build.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 79a9e628..c0c38af1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,14 +50,18 @@ jobs: fail-fast: false matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python: [39, 310, 311, 312, 313] - arch: [auto64, universal2] + python: [39, 310, 311, 312, 313, 314] + arch: [auto64, universal2, aarch64] build: ["cp"] exclude: - os: ubuntu-latest arch: universal2 - os: windows-latest arch: universal2 + - os: windows-latest + arch: aarch64 + - os: macos-latest + arch: aarch64 steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v5 From cb7b1cc8346e06b8cb10b2427cd627c9839a2264 Mon Sep 17 00:00:00 2001 From: Tom Gillam Date: Thu, 23 Oct 2025 09:21:56 +0100 Subject: [PATCH 2/7] bump actions versions to latest --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c0c38af1..d9238f5e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -63,9 +63,9 @@ jobs: - os: macos-latest arch: aarch64 steps: - - uses: actions/checkout@v4 - - uses: astral-sh/setup-uv@v5 - - uses: pypa/cibuildwheel@v2.23 + - uses: actions/checkout@v5 + - uses: astral-sh/setup-uv@v7 + - uses: pypa/cibuildwheel@v3.2 env: CIBW_BUILD_FRONTEND: "build[uv]" CIBW_BUILD: "${{ matrix.build }}${{ matrix.python }}*" @@ -84,8 +84,8 @@ jobs: needs: check_approval if: needs.check_approval.outputs.should_build == 'true' steps: - - uses: actions/checkout@v4 - - uses: astral-sh/setup-uv@v5 + - uses: actions/checkout@v5 + - uses: astral-sh/setup-uv@v7 - run: uv build --sdist - uses: actions/upload-artifact@v4 with: From bf8ceee1c83d72b36934152c193d7d88998e6530 Mon Sep 17 00:00:00 2001 From: Tom Gillam Date: Thu, 23 Oct 2025 09:23:25 +0100 Subject: [PATCH 3/7] actually we should run on an arm machine --- .github/workflows/build.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d9238f5e..42110c08 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,19 +49,15 @@ jobs: # Ensure that a wheel builder finishes even if another fails fail-fast: false matrix: - os: [windows-latest, ubuntu-latest, macos-latest] + os: [windows-latest, ubuntu-latest, ubuntu-24.04-arm64, macos-latest] python: [39, 310, 311, 312, 313, 314] - arch: [auto64, universal2, aarch64] + arch: [auto64, universal2] build: ["cp"] exclude: - os: ubuntu-latest arch: universal2 - os: windows-latest arch: universal2 - - os: windows-latest - arch: aarch64 - - os: macos-latest - arch: aarch64 steps: - uses: actions/checkout@v5 - uses: astral-sh/setup-uv@v7 From 22975ba147843016dc15369a6f6368e71b34f27c Mon Sep 17 00:00:00 2001 From: Tom Gillam Date: Thu, 23 Oct 2025 09:26:59 +0100 Subject: [PATCH 4/7] python 3.9 is EOL, and no longer supported by our deps --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 42110c08..956bd9a4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,7 +50,7 @@ jobs: fail-fast: false matrix: os: [windows-latest, ubuntu-latest, ubuntu-24.04-arm64, macos-latest] - python: [39, 310, 311, 312, 313, 314] + python: [310, 311, 312, 313, 314] arch: [auto64, universal2] build: ["cp"] exclude: From dd57dd3a0aa7061e99f0953075f9c78ebbbb5289 Mon Sep 17 00:00:00 2001 From: Tom Gillam Date: Thu, 23 Oct 2025 09:29:04 +0100 Subject: [PATCH 5/7] oops wrong name --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 956bd9a4..0887f0a0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,7 +49,7 @@ jobs: # Ensure that a wheel builder finishes even if another fails fail-fast: false matrix: - os: [windows-latest, ubuntu-latest, ubuntu-24.04-arm64, macos-latest] + os: [windows-latest, ubuntu-latest, ubuntu-24.04-arm, macos-latest] python: [310, 311, 312, 313, 314] arch: [auto64, universal2] build: ["cp"] From 7bb64ac6714cbecd472da13ef03eb345d8f90712 Mon Sep 17 00:00:00 2001 From: Tom Gillam Date: Thu, 23 Oct 2025 09:31:43 +0100 Subject: [PATCH 6/7] must skip universal2 on ubuntu-arm --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0887f0a0..f58eb237 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,6 +56,8 @@ jobs: exclude: - os: ubuntu-latest arch: universal2 + - os: ubuntu-24.04-arm + arch: universal2 - os: windows-latest arch: universal2 steps: From 699f21824c4814b73525e2f402517611697d18c4 Mon Sep 17 00:00:00 2001 From: Tom Gillam Date: Thu, 23 Oct 2025 10:59:06 +0100 Subject: [PATCH 7/7] update python dep markers --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b176c251..1e1c2ec3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,11 +10,11 @@ classifiers = [ 'Operating System :: OS Independent', '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', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Artificial Intelligence', 'Topic :: Scientific/Engineering :: Mathematics', @@ -22,7 +22,7 @@ classifiers = [ keywords = ["optimization"] dynamic = ["version"] urls = { homepage = "https://pymoo.org" } -requires-python = ">= 3.9" +requires-python = ">= 3.10" dependencies = [ "numpy>=1.19.3", "scipy>=1.1",