Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Consider migrating wheel builds to cibuildwheel #141

Description

@stoiver

Context

The wheel build/publish pipeline (.github/workflows/python-publish-pypi.yml) is hand-rolled: a (os × python-version) matrix that sets up miniconda, creates a conda env with the build toolchain (compilers, meson-python, ninja, cython, pybind11, ...), runs pip wheel, then a repairwheel step to make the wheels self-contained.

This works — 3.3.7 wheels are self-contained on all platforms (the all-platform repairwheel step bundles libomp on macOS and the MinGW runtime DLLs on Windows). So this is a maintainability idea, not a correctness gap.

Observation

meshpy (our mesh dependency) builds its wheels with cibuildwheel, which provides — off the shelf — the Python×platform build matrix, isolated build environments, and wheel repair (auditwheel on Linux, delocate on macOS, delvewheel on Windows). Our pipeline re-implements much of that by hand. Migrating could shrink the custom CI and get repair/matrix handling "for free."

Caveats / open questions

Suggested first step

Determine feasibility by trying to build the extensions with MSVC on Windows (e.g. a scratch cibuildwheel run). If the code compiles cleanly under MSVC, a cibuildwheel migration becomes attractive; if not, the current conda+repairwheel approach stays the pragmatic choice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions