Skip to content

Commit e2e1eca

Browse files
authored
Build Python 3.13 wheels, require macOS >= 13 (was 10.9) (#57)
1 parent dc71bd1 commit e2e1eca

File tree

5 files changed

+52
-22
lines changed

5 files changed

+52
-22
lines changed

.github/scripts/build-linux.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ elif [ $PYTHON_VERSION == "3.11" ]; then
1616
PYBIN="/opt/python/cp311-cp311/bin"
1717
elif [ $PYTHON_VERSION == "3.12" ]; then
1818
PYBIN="/opt/python/cp312-cp312/bin"
19+
elif [ $PYTHON_VERSION == "3.13" ]; then
20+
PYBIN="/opt/python/cp313-cp313/bin"
1921
else
2022
echo "Unsupported Python version $PYTHON_VERSION"
2123
exit 1

.github/workflows/ci.yml

Lines changed: 44 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -34,75 +34,99 @@ jobs:
3434
python-arch: 'x86_64'
3535
python-version: '3.12'
3636
numpy-version: '2.0.*'
37-
3837
- os-image: ubuntu-latest
38+
os-name: linux
39+
docker-image: quay.io/pypa/manylinux2014_x86_64
40+
python-arch: 'x86_64'
41+
python-version: '3.13'
42+
numpy-version: '2.2.*'
43+
44+
- os-image: ubuntu-22.04-arm
3945
os-name: linux
4046
docker-image: quay.io/pypa/manylinux2014_aarch64
4147
python-arch: 'aarch64'
4248
python-version: '3.9'
4349
numpy-version: '2.0.*'
44-
- os-image: ubuntu-latest
50+
- os-image: ubuntu-22.04-arm
4551
os-name: linux
4652
docker-image: quay.io/pypa/manylinux2014_aarch64
4753
python-arch: 'aarch64'
4854
python-version: '3.10'
4955
numpy-version: '2.0.*'
50-
- os-image: ubuntu-latest
56+
- os-image: ubuntu-22.04-arm
5157
os-name: linux
5258
docker-image: quay.io/pypa/manylinux2014_aarch64
5359
python-arch: 'aarch64'
5460
python-version: '3.11'
5561
numpy-version: '2.0.*'
56-
- os-image: ubuntu-latest
62+
- os-image: ubuntu-22.04-arm
5763
os-name: linux
5864
docker-image: quay.io/pypa/manylinux2014_aarch64
5965
python-arch: 'aarch64'
6066
python-version: '3.12'
6167
numpy-version: '2.0.*'
68+
- os-image: ubuntu-22.04-arm
69+
os-name: linux
70+
docker-image: quay.io/pypa/manylinux2014_aarch64
71+
python-arch: 'aarch64'
72+
python-version: '3.13'
73+
numpy-version: '2.2.*'
6274

63-
- os-image: macos-12
75+
- os-image: macos-13
6476
os-name: mac
65-
macos-min-version: '10.9'
77+
macos-min-version: '13.0'
6678
python-arch: 'x86_64'
6779
python-version: '3.9'
6880
numpy-version: '2.0.*'
69-
- os-image: macos-12
81+
- os-image: macos-13
7082
os-name: mac
71-
macos-min-version: '10.9'
83+
macos-min-version: '13.0'
7284
python-arch: 'x86_64'
7385
python-version: '3.10'
7486
numpy-version: '2.0.*'
75-
- os-image: macos-12
87+
- os-image: macos-13
7688
os-name: mac
77-
macos-min-version: '10.9'
89+
macos-min-version: '13.0'
7890
python-arch: 'x86_64'
7991
python-version: '3.11'
8092
numpy-version: '2.0.*'
81-
- os-image: macos-12
93+
- os-image: macos-13
8294
os-name: mac
83-
macos-min-version: '10.9'
95+
macos-min-version: '13.0'
8496
python-arch: 'x86_64'
8597
python-version: '3.12'
8698
numpy-version: '2.0.*'
99+
- os-image: macos-13
100+
os-name: mac
101+
macos-min-version: '13.0'
102+
python-arch: 'x86_64'
103+
python-version: '3.13'
104+
numpy-version: '2.2.*'
87105

88106
- os-image: macos-14 # M1
89107
os-name: mac
90108
python-arch: arm64
91-
macos-min-version: '11.0'
109+
macos-min-version: '14.0'
92110
python-version: '3.10'
93111
numpy-version: '2.0.*'
94112
- os-image: macos-14 # M1
95113
os-name: mac
96114
python-arch: arm64
97-
macos-min-version: '11.0'
115+
macos-min-version: '14.0'
98116
python-version: '3.11'
99117
numpy-version: '2.0.*'
100118
- os-image: macos-14 # M1
101119
os-name: mac
102120
python-arch: arm64
103-
macos-min-version: '11.0'
121+
macos-min-version: '14.0'
104122
python-version: '3.12'
105123
numpy-version: '2.0.*'
124+
- os-image: macos-14 # M1
125+
os-name: mac
126+
python-arch: arm64
127+
macos-min-version: '14.0'
128+
python-version: '3.13'
129+
numpy-version: '2.2.*'
106130

107131
- os-image: windows-2019
108132
os-name: windows
@@ -124,6 +148,11 @@ jobs:
124148
python-arch: 'x86_64'
125149
python-version: '3.12'
126150
numpy-version: '2.0.*'
151+
- os-image: windows-2019
152+
os-name: windows
153+
python-arch: 'x86_64'
154+
python-version: '3.13'
155+
numpy-version: '2.2.*'
127156

128157
runs-on: ${{ matrix.config.os-image }}
129158

@@ -132,10 +161,6 @@ jobs:
132161
with:
133162
submodules: true
134163

135-
- name: Set up QEMU
136-
if: matrix.config.python-arch == 'aarch64'
137-
uses: docker/setup-qemu-action@v3
138-
139164
- name: Build wheels (Linux)
140165
if: matrix.config.os-name == 'linux'
141166
run: docker run --rm -e PYTHON_ARCH -e PYTHON_VERSION -e NUMPY_VERSION -v `pwd`:/io ${{ matrix.config.docker-image }} /io/.github/scripts/build-linux.sh

lensfunpy/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "1.15.0"
1+
__version__ = "1.16.0"

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[build-system]
2+
requires = ["setuptools", "Cython", "numpy"]
3+
build-backend = "setuptools.build_meta"

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,12 @@ def windows_lensfun_compile():
8383
cwd = os.getcwd()
8484

8585
# Download cmake to build lensfun
86-
cmake_version = '3.13.4'
86+
cmake_version = '3.16.9'
8787
cmake_url = 'https://github.com/Kitware/CMake/releases/download/v{v}/cmake-{v}-win32-x86.zip'.format(v=cmake_version)
8888
cmake = os.path.abspath('external/cmake-{}-win32-x86/bin/cmake.exe'.format(cmake_version))
8989

9090
# Download vcpkg to build dependencies of lensfun
91-
vcpkg_commit = '2023.11.20'
91+
vcpkg_commit = '2025.01.13'
9292
vcpkg_url = 'https://github.com/Microsoft/vcpkg/archive/{}.zip'.format(vcpkg_commit)
9393
vcpkg_dir = os.path.abspath('external/vcpkg-{}'.format(vcpkg_commit))
9494
vcpkg_bootstrap = os.path.join(vcpkg_dir, 'bootstrap-vcpkg.bat')

0 commit comments

Comments
 (0)