Skip to content

Commit

Permalink
Python3.13 beta wheels (#272)
Browse files Browse the repository at this point in the history
Signed-off-by: Alexander Piskun <[email protected]>
  • Loading branch information
bigcat88 authored Jul 27, 2024
1 parent 9a24016 commit 0227ce0
Show file tree
Hide file tree
Showing 9 changed files with 45 additions and 36 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build-cache-deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
platforms: arm64

- name: Install cibuildwheel & twine
run: python3 -m pip install twine cibuildwheel==2.19.1
run: python3 -m pip install twine cibuildwheel==2.19.2

- uses: actions/cache@v4
with:
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:
platforms: arm64

- name: Install cibuildwheel & twine
run: python3 -m pip install twine cibuildwheel==2.19.1
run: python3 -m pip install twine cibuildwheel==2.19.2

- uses: actions/cache@v4
with:
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/wheels-pi_heif.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,13 @@ jobs:
- name: Run cibuildwheel
run: |
python3 -m pip install cibuildwheel==2.19.1
python3 -m pip install cibuildwheel==2.19.2
python3 -m cibuildwheel
env:
CIBW_ARCHS: "AMD64"
CIBW_ENVIRONMENT_WINDOWS: PH_LIGHT_ACTION=1 TEST_DECODE_THREADS=0
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair -vv -w {dest_dir} {wheel} --add-path ${{ env.MSYS2_PREFIX }}/bin"
CIBW_PRERELEASE_PYTHONS: True

- name: Checking built wheels
run: |
Expand All @@ -104,12 +105,13 @@ jobs:
- name: Run cibuildwheel
run: |
python3 -m pip install cibuildwheel==2.19.1
python3 -m pip install cibuildwheel==2.19.2
python3 -m cibuildwheel
env:
CIBW_ARCHS: "x86_64"
CIBW_ENVIRONMENT_MACOS: PH_LIGHT_ACTION=1 TEST_DECODE_THREADS=0
MACOSX_DEPLOYMENT_TARGET: "12.0"
CIBW_PRERELEASE_PYTHONS: True

- name: Checking built wheels
run: |
Expand Down Expand Up @@ -164,7 +166,7 @@ jobs:

- name: Run cibuildwheel
run: |
python3 -m pip install cibuildwheel==2.19.1
python3 -m pip install cibuildwheel==2.19.2
python3 -m cibuildwheel
env:
CIBW_BUILD: ${{ format('cp3*-{0}_{1}', matrix.cibw_buildlinux, matrix.cibw_arch) }}
Expand All @@ -173,6 +175,7 @@ jobs:
${{ env.INSTALL_OS_PACKAGES }}
python3 {package}/libheif/linux_build_libs.py
CIBW_ENVIRONMENT_LINUX: BUILD_DIR=/host${{ env.BUILD_DIR }} PH_LIGHT_ACTION=1
CIBW_PRERELEASE_PYTHONS: True

- name: Checking built wheels
run: |
Expand Down Expand Up @@ -224,7 +227,7 @@ jobs:

- name: Run cibuildwheel
run: |
python3 -m pip install cibuildwheel==2.19.1
python3 -m pip install cibuildwheel==2.19.2
python3 -m cibuildwheel
env:
CIBW_BUILD: ${{ format('pp3*-{0}_{1}', matrix.cibw_buildlinux, matrix.cibw_arch) }}
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/wheels-pillow_heif.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,13 @@ jobs:
- name: Run cibuildwheel
run: |
python3 -m pip install cibuildwheel==2.19.1
python3 -m pip install cibuildwheel==2.19.2
python3 -m cibuildwheel
env:
CIBW_ARCHS: "AMD64"
CIBW_ENVIRONMENT_WINDOWS: PH_FULL_ACTION=1
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair -vv -w {dest_dir} {wheel} --add-path ${{ env.MSYS2_PREFIX }}/bin"
CIBW_PRERELEASE_PYTHONS: True

- name: Check built wheels
run: |
Expand All @@ -96,12 +97,13 @@ jobs:
- uses: actions/checkout@v4
- name: Run cibuildwheel
run: |
python3 -m pip install cibuildwheel==2.19.1
python3 -m pip install cibuildwheel==2.19.2
python3 -m cibuildwheel
env:
CIBW_ARCHS: "x86_64"
CIBW_ENVIRONMENT_MACOS: PH_FULL_ACTION=1 TEST_DECODE_THREADS=0
MACOSX_DEPLOYMENT_TARGET: "12.0"
CIBW_PRERELEASE_PYTHONS: True

- name: Check built wheels
run: |
Expand Down Expand Up @@ -165,7 +167,7 @@ jobs:

- name: Run cibuildwheel
run: |
python3 -m pip install cibuildwheel==2.19.1
python3 -m pip install cibuildwheel==2.19.2
python3 -m cibuildwheel
env:
CIBW_BUILD: ${{ format('cp3*-{0}_{1}', matrix.cibw_buildlinux, matrix.cibw_arch) }}
Expand All @@ -175,6 +177,7 @@ jobs:
python3 {package}/libheif/linux_build_libs.py
CIBW_ENVIRONMENT_LINUX: BUILD_DIR=/host${{ env.BUILD_DIR }} PH_FULL_ACTION=1
CIBW_ENVIRONMENT_PASS_LINUX: PH_TESTS_NO_HEVC_ENC
CIBW_PRERELEASE_PYTHONS: True

- name: Checking built wheels
run: |
Expand Down Expand Up @@ -229,7 +232,7 @@ jobs:

- name: Run cibuildwheel
run: |
python3 -m pip install cibuildwheel==2.19.1
python3 -m pip install cibuildwheel==2.19.2
python3 -m cibuildwheel
env:
CIBW_BUILD: ${{ format('pp3*-{0}_{1}', matrix.cibw_buildlinux, matrix.cibw_arch) }}
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ All notable changes to this project will be documented in this file.

### Added

- `image.info["heif"]` dictionary with `camera_intrinsic_matrix` HEIF specific metadata. Currently only reading is supported. #234
- `image.info["heif"]` dictionary with `camera_intrinsic_matrix` HEIF specific metadata. Currently only reading is supported. #271

### Changed

- libheif updated from `1.17.6` to `1.18.1` version. #249
- Python `3.13.0b3` wheels added; macOS **arm64** Python3.8 wheels dropped. #272

## [0.17.0 - 2024-07-02]

Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,15 +143,15 @@ if im.info["depth_images"]:

### Wheels

| **_Wheels table_** | macOS<br/>Intel | macOS<br/>Silicon | Windows<br/>64bit | musllinux* | manylinux* |
|--------------------|:---------------:|:-----------------:|:-----------------:|:----------:|:----------:|
| CPython 3.8 || | |||
| CPython 3.9 ||| |||
| CPython 3.10 ||| |||
| CPython 3.11 ||| |||
| CPython 3.12 ||| |||
| CPython 3.13 ||| |||
| PyPy 3.9 v7.3 ||| | N/A ||
| PyPy 3.10 v7.3 ||| | N/A ||
| **_Wheels table_** | macOS<br/>Intel | macOS<br/>Silicon | Windows<br/> | musllinux* | manylinux* |
|--------------------|:---------------:|:-----------------:|:------------:|:----------:|:----------:|
| CPython 3.8 || N/A | |||
| CPython 3.9 ||| |||
| CPython 3.10 ||| |||
| CPython 3.11 ||| |||
| CPython 3.12 ||| |||
| CPython 3.13 ||| |||
| PyPy 3.9 v7.3 ||| | N/A ||
| PyPy 3.10 v7.3 ||| | N/A ||

&ast; **x86_64**, **aarch64** wheels.
6 changes: 4 additions & 2 deletions ci/cirrus_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@ wheel_macos_arm_task:
PATH: /opt/homebrew/opt/[email protected]/bin:$PATH
CIBW_ARCHS: arm64
CIBW_ENVIRONMENT: 'MACOSX_DEPLOYMENT_TARGET=14.0 PH_FULL_ACTION=1'
CIBW_PRERELEASE_PYTHONS: True

install_pre_requirements_script:
- brew update || true
- brew install libheif
- brew install [email protected]
- ln -s python3 /opt/homebrew/opt/[email protected]/bin/python
install_cibuildwheel_script:
- python3 -m pip install --break-system-packages cibuildwheel==2.19.1
- python3 -m pip install --break-system-packages cibuildwheel==2.19.2
run_cibuildwheel_script:
- python3 -m cibuildwheel
wheels_artifacts:
Expand All @@ -33,14 +34,15 @@ wheel_pi_heif_macos_arm_task:
PATH: /opt/homebrew/opt/[email protected]/bin:$PATH
CIBW_ARCHS: arm64
CIBW_ENVIRONMENT: 'MACOSX_DEPLOYMENT_TARGET=14.0 PH_LIGHT_ACTION=1'
CIBW_PRERELEASE_PYTHONS: True

install_pre_requirements_script:
- brew update || true
- brew install libheif
- brew install [email protected]
- ln -s python3 /opt/homebrew/opt/[email protected]/bin/python
install_cibuildwheel_script:
- python3 -m pip install --break-system-packages cibuildwheel==2.19.1
- python3 -m pip install --break-system-packages cibuildwheel==2.19.2
transform_to_pi_heif_script:
- cp -r -v ./pi-heif/* .
- python3 .github/transform_to-pi_heif.py
Expand Down
2 changes: 1 addition & 1 deletion libheif/linux_build_libs.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from re import IGNORECASE, MULTILINE, match, search
from subprocess import DEVNULL, PIPE, STDOUT, CalledProcessError, TimeoutExpired, run

# 1
# 0
BUILD_DIR = environ.get("BUILD_DIR", "/tmp/ph_build_stuff")
INSTALL_DIR_LIBS = environ.get("INSTALL_DIR_LIBS", "/usr")
PH_LIGHT_VERSION = sys.maxsize <= 2**32 or getenv("PH_LIGHT_ACTION", "0") != "0"
Expand Down
19 changes: 10 additions & 9 deletions pi-heif/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,14 +84,15 @@ if im.info["depth_images"]:

### Wheels

| **_Wheels table_** | macOS<br/>Intel | macOS<br/>Silicon | Windows<br/>64bit | musllinux* | manylinux* |
|--------------------|:---------------:|:-----------------:|:-----------------:|:----------:|:----------:|
| CPython 3.8 ||||||
| CPython 3.9 ||||||
| CPython 3.10 ||||||
| CPython 3.11 ||||||
| CPython 3.12 ||||||
| PyPy 3.9 v7.3 |||| N/A ||
| PyPy 3.10 v7.3 |||| N/A ||
| **_Wheels table_** | macOS<br/>Intel | macOS<br/>Silicon | Windows<br/> | musllinux* | manylinux* |
|--------------------|:---------------:|:-----------------:|:------------:|:----------:|:----------:|
| CPython 3.8 || N/A ||||
| CPython 3.9 ||||||
| CPython 3.10 ||||||
| CPython 3.11 ||||||
| CPython 3.12 ||||||
| CPython 3.13 ||||||
| PyPy 3.9 v7.3 |||| N/A ||
| PyPy 3.10 v7.3 |||| N/A ||

&ast; **x86_64**, **aarch64** wheels.
5 changes: 2 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ requires = [
[tool.cibuildwheel]
build-verbosity = "2"
build = [
"cp38-* cp39-* cp310-* cp311-* cp312-* pp39-* pp310-*",
"cp38-* cp39-* cp310-* cp311-* cp312-* cp313-* pp39-* pp310-*",
]
skip = [
"cp36-* cp37-* pp37-* pp38-*",
"cp36-* cp37-* pp37-* pp38-* cp38-macosx_arm64",
]
test-extras = "tests-min"
test-command = "pytest {project}"
Expand All @@ -32,7 +32,6 @@ repair-wheel-command = [
"DYLD_LIBRARY_PATH=$REPAIR_LIBRARY_PATH delocate-listdeps {wheel}",
"DYLD_LIBRARY_PATH=$REPAIR_LIBRARY_PATH delocate-wheel -v --require-archs {delocate_archs} -w {dest_dir} {wheel}",
]
test-skip = "cp38-macosx_arm64"

[tool.cibuildwheel.windows]
before-build = [
Expand Down

0 comments on commit 0227ce0

Please sign in to comment.