skillfed

cibuildwheel

Build Python wheels on CI with minimal configuration.

cibuildwheel v4.2.0 820.5K downloads/30d#4,974 on PyPI2,257
Permissive license BSD-2-Clause Active released

What it is and what it does

cibuildwheel is a CI automation tool that builds and tests Python wheels across multiple operating systems and Python versions without manual per-platform configuration. It runs inside your CI service and handles the complexity of building wheels for macOS (Intel and Apple Silicon), Linux (manylinux and musllinux), Windows (64-bit, 32-bit, and ARM64), plus experimental support for Android, iOS, and Pyodide. The tool bundles shared library dependencies automatically using auditwheel on Linux, delocate on macOS, and delvewheel on Windows, then runs your library's tests against each built wheel to catch platform-specific issues early.

You configure it once in your CI workflow and it targets CPython 3.9 through 3.15, PyPy, and GraalPy across all supported architectures. It integrates directly with GitHub Actions, Azure Pipelines, CircleCI, and GitLab CI, eliminating the need to write separate build scripts for each platform. The package itself has nine runtime dependencies (bashlex, bracex, build, certifi, dependency-groups, filelock, humanize, packaging, platformdirs) and installs as a pure Python wheel with low friction.

Use it for:

  • Build wheels for a Python package targeting multiple Python versions and platforms in a single CI run.
  • Automatically test wheels on each platform before publishing to PyPI to catch binary incompatibilities.
  • Bundle native library dependencies (C/C++ extensions) across Linux, macOS, and Windows without manual auditwheel/delocate configuration.
  • Support PyPy or GraalPy alongside CPython in your wheel matrix without duplicating CI logic.
  • Build wheels for experimental platforms like Android or iOS as part of a unified CI pipeline.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Automates building and testing Python wheels across multiple platforms (macOS, Linux, Windows) and Python versions directly from CI/CD pipelines.

Yes. This is a production-stable tool (Development Status 5) with active maintenance, no known vulnerabilities, and low install friction. Install it if you maintain a Python package with compiled extensions or multi-platform support and want to automate wheel building across CI services. Skip it only if you build wheels exclusively on a single platform or do not use a supported CI system.

Install

cibuildwheel on PyPI

pip

pip install cibuildwheel

uv

uv add cibuildwheel

poetry

poetry add cibuildwheel

Installing cibuildwheel

Before you install

Low install friction with a pure-Python wheel distribution. Actively maintained with a release 9 days ago and 2257 repository stars. Requires Python 3.11 or later to run.

License in practice

BSD-2-Clause is a permissive license with minimal restrictions; you can use this in commercial projects with standard attribution.

Quickstart

pip install cibuildwheel

# In your CI workflow (e.g., .github/workflows/wheels.yml):
# - uses: actions/setup-python@v6
# - run: pip install cibuildwheel
# - run: cibuildwheel --output-dir wheelhouse

Requires Python 3.11 or later to run; intended for use within CI/CD environments (GitHub Actions, Azure Pipelines, CircleCI, GitLab CI), not for local development.

Verify before relying

  • Whether the package handles all edge cases for cross-compilation on Windows ARM64 (documented as experimental).
  • Performance characteristics when building wheels for many Python versions simultaneously.
  • Compatibility with CI systems beyond the four explicitly supported platforms.

Package facts

License BSD-2-Clause (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 9 — bashlex, bracex, build, certifi, dependency-groups, filelock, humanize, packaging, platformdirs
Maintenance actively maintained — 9 days since the last release
Last repo commit
First released
Downloads 820,488/month — #4,974 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: cibuildwheel-4.2.0-py3-none-any.whl

Keywords: ci, linux, macos, packaging, pypi, wheel, windows

Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Build Tools

Tags

build python wheels cicross-platform wheel buildingautomated wheel testingmulti-python version buildsci wheel buildergithub actions wheel buildmanylinux wheel automation
ci-automationwheel-buildingcross-platform

More Build Tools packages