Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bindings: python: add a script to generate armv7l wheels #93

Closed
wants to merge 1 commit into from

Commits on Oct 6, 2024

  1. bindings: python: add a script to generate armv7l wheels

    Add a 'generate_armv7l_wheels.sh' shell script that makes armv7l Python
    wheels for combinations of libc (glibc, musl) and selected CPython
    versions.
    
    Currently, Python wheels are generated for the x86_64 and aarch64 CPU
    architectures only, using the 'cibuildwheel' tool invoked by the existing
    'generate_pypi_artifacts.sh' script. The 'cibuildwheel' tool, in turn,
    relies on the PyPA manylinux and musllinux Docker images that, sadly, are
    not available for the armv7l architecture that is still common in edge
    devices.
    
    It was previously suggested that Raspberry Pi users could rely on the
    piwheels.org repository for armv7l gpiod wheels. Alas, that repository
    lags significantly behind the latest CPython releases. It currently
    provides gpiod wheels for CPython versions 3.9 and 3.11 only, while
    CPython 3.12 was released a year ago and CPython 3.13 is about to be
    released.
    
    It turns out that armv7l Python wheels can be relatively easily generated
    without 'cibuildwheel', in about 160 lines of structured shell script that
    introduces no new dependencies (the script depends on Docker and
    binfmt_misc only). Instead of manylinux and musllinux Docker images, the
    script uses the official Python image on Docker Hub, which is available
    for armv7l in Debian and Alpine flavours (for glibc and musl libc
    respectively).
    
    Signed-off-by: Paulo Ferreira de Castro <[email protected]>
    pdcastro committed Oct 6, 2024
    Configuration menu
    Copy the full SHA
    971f2bc View commit details
    Browse the repository at this point in the history