@@ -113,8 +113,30 @@ cmake.source-dir = "./bindings/python"
113113# Setuptools-style build caching in a local directory
114114build-dir = " build/{wheel_tag}"
115115
116- # Build stable ABI wheels for CPython 3.10+
117- wheel.py-api = " cp310"
118-
119116[tool .cibuildwheel ]
117+ # Build for Python 3.10, 3.11 (version-specific) and 3.12+ (stable ABI)
118+ build = " cp310-* cp311-* cp312-*"
119+ config-settings = " cmake.build-type=Release"
120+
121+ # Skip 32-bit builds, musl, and PyPy
122+ skip = " *-win32 *-manylinux_i686 *-musllinux_* pp*"
123+
124+ [tool .cibuildwheel .linux ]
125+ archs = [" x86_64" , " aarch64" ]
126+ # Use manylinux_2_28 for pipewire availability (AlmaLinux 8 based)
127+ manylinux-x86_64-image = " manylinux_2_28"
128+ manylinux-aarch64-image = " manylinux_2_28"
129+ before-all = " dnf install -y alsa-lib-devel pipewire-devel jack-audio-connection-kit-devel"
130+
131+ [tool .cibuildwheel .macos ]
132+ archs = [" x86_64" , " arm64" ]
133+
134+ [tool .cibuildwheel .windows ]
135+ archs = [" AMD64" , " ARM64" ]
136+
137+ # For Python 3.12+, use stable ABI
138+ [[tool .cibuildwheel .overrides ]]
139+ select = " cp312-*"
120140config-settings = " cmake.build-type=Release"
141+ inherit.environment = " append"
142+ environment = { SKBUILD_WHEEL_PY_API = " cp312" }
0 commit comments