ml-explore / ml-explore/mlx

Use cibuildwheel to build wheels for all Python versions, platforms and architectures

Open
#2,497 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement low priority
Dominant language
C++
Stars
28.5k
Forks
2.3k
Avg merge
3d 8h
Merged PRs (30d)
62

Description

Several platforms, architectures and Python versions are not being build (for example Python 3.14, musllinux, most glibc variants, ...).
https://pypi.org/project/mlx/0.28.0/#files

The manylinux project supports:

  • manylinux2014 images for x86_64, i686, aarch64, ppc64le and s390x.
  • manylinux_2_28 images for x86_64, i686, aarch64, ppc64le and s390x.
  • manylinux_2_34 images for x86_64, i686, aarch64, ppc64le and s390x.
  • manylinux_2_39 images for aarch64 and riscv64.
  • musllinux_1_2 images for x86_64, i686, aarch64, ppc64le, s390x and armv7l.

https://github.com/pypa/manylinux

Debian 13 uses glibc 2.41 for example.

The standard GitHub Action cibuildwheel builds all possible variants, can the wheel builds be modernized to allow a larger user base?
https://github.com/pypa/cibuildwheel/#example-setup

To build manylinux, musllinux, macOS, and Windows wheels on GitHub Actions, you could use this .github/workflows/wheels.yml:

name: Build

on: [push, pull_request]

jobs:
  build_wheels:
    name: Build wheels on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-13, macos-latest]

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the wheel workflow under .github/workflows/wheels.yml and compare its current matrix with cibuildwheel's documented GitHub Actions setup. Verify the workflow covers the requested Python versions, manylinux and musllinux platforms, architectures, macOS, and Windows; done means the resulting wheels are built successfully for the supported variants.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python
Domain
build-system, ci-cd
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.