You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Python wheels are great. Building them across **Mac, Linux, Windows**, on **multiple versions of Python**, is not.
18
17
19
-
`cibuildwheel` is here to help. `cibuildwheel` runs on your CI server - currently it supports GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, and GitLab CI - and it builds and tests your wheels across all of your platforms.
18
+
`cibuildwheel` is here to help. `cibuildwheel` runs on your CI server - currently it supports GitHub Actions, Azure Pipelines, Travis CI, CircleCI, and GitLab CI - and it builds and tests your wheels across all of your platforms.
20
19
21
20
22
21
What does it do?
@@ -45,7 +44,7 @@ While cibuildwheel itself requires a recent Python version to run (we support th
45
44
<sup>⁵ manylinux armv7l support is experimental. As there are no RHEL based image for this architecture, it's using an Ubuntu based image instead.</sup><br>
46
45
47
46
- Builds manylinux, musllinux, macOS 10.9+ (10.13+ for Python 3.12+), and Windows wheels for CPython, PyPy, and GraalPy
48
-
- Works on GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, GitLab CI, and Cirrus CI
47
+
- Works on GitHub Actions, Azure Pipelines, Travis CI, CircleCI, GitLab CI, and Cirrus CI
49
48
- Bundles shared library dependencies on Linux and macOS through [auditwheel](https://github.com/pypa/auditwheel) and [delocate](https://github.com/matthew-brett/delocate)
50
49
- Runs your library's tests against the wheel-installed version of your library
51
50
@@ -61,7 +60,6 @@ Usage
61
60
| GitHub Actions | ✅ | ✅ | ✅ | ✅ | ✅ | ✅² | ✅³ |
62
61
| Azure Pipelines | ✅ | ✅ | ✅ || ✅ | ✅² | ✅³ |
63
62
| Travis CI | ✅ || ✅ | ✅ ||||
64
-
| AppVeyor | ✅ | ✅ | ✅ || ✅ | ✅² | ✅³ |
65
63
| CircleCI | ✅ | ✅ || ✅ | ✅ || ✅³ |
66
64
| Gitlab CI | ✅ | ✅ | ✅ | ✅¹ | ✅ || ✅³ |
67
65
| Cirrus CI | ✅ | ✅ | ✅ | ✅ | ✅ || ✅³ |
@@ -188,7 +186,6 @@ Here are some repos that use cibuildwheel.
Copy file name to clipboardExpand all lines: docs/ci-services.md
+6-16
Original file line number
Diff line number
Diff line change
@@ -86,22 +86,6 @@ Then setup a deployment method by following the [Travis CI deployment docs](http
86
86
87
87
[`examples/travis-ci-deploy.yml`](https://github.com/pypa/cibuildwheel/blob/main/examples/travis-ci-deploy.yml) extends this minimal example with a demonstration of how to automatically upload the built wheels to PyPI.
88
88
89
-
### AppVeyor [linux/mac/windows] {: #appveyor}
90
-
91
-
To build Linux, Mac, and Windows wheels on AppVeyor, create an `appveyor.yml` file in your repo.
92
-
93
-
> appveyor.yml
94
-
95
-
```yaml
96
-
{% include "../examples/appveyor-minimal.yml" %}
97
-
```
98
-
99
-
Commit this file, enable building of your repo on AppVeyor, and push.
100
-
101
-
AppVeyor will store the built wheels for you - you can access them from the project console. Alternatively, you may want to store them in the same place as the Travis CI build. See [AppVeyor deployment docs](https://www.appveyor.com/docs/deployment/) for more info, or see [Delivering to PyPI](deliver-to-pypi.md) below.
102
-
103
-
For more info on this config file, check out the [docs](https://www.appveyor.com/docs/).
104
-
105
89
### CircleCI [linux/mac] {: #circleci}
106
90
107
91
To build Linux and Mac wheels on CircleCI, create a `.circleci/config.yml` file in your repo,
@@ -149,6 +133,12 @@ Cirrus CI will store the built wheels for you - you can access them from the ind
149
133
150
134
> ⚠️ Got an error? Check the [FAQ](faq.md).
151
135
136
+
### Other CI services
137
+
138
+
#### AppVeyor {: #appveyor}
139
+
140
+
Appveyor official support was dropped in cibuildwheel v3.0, due to a lack of CI credits. However, it can probably still be used as-is. Check the Appveyor example from the cibuildwheel v2.0 branch: [appveyor-minimal.yml](https://github.com/pypa/cibuildwheel/blob/v2.23.3/examples/appveyor-minimal.yml).
141
+
152
142
## Next steps
153
143
154
144
Once you've got the wheel building successfully, you might want to set up [testing](options.md#test-command) or [automatic releases to PyPI](deliver-to-pypi.md#automatic-method).
|[tgcalls][]|![github icon][]|![apple icon][]![windows icon][]| Python `pybind11` binding to Telegram's WebRTC library with third party dependencies like `OpenSSL`, `MozJPEG`, `FFmpeg`, etc. |
|[python-rapidjson][]|![travisci icon][]![gitlab icon][]|![windows icon][]![linux icon][]| Python wrapper around rapidjson |
79
79
|[pybind11 python_example][]|![github icon][]|![windows icon][]![apple icon][]![linux icon][]| Example pybind11 module built with a Python-based build system |
80
80
|[sourmash][]|![github icon][]|![apple icon][]![linux icon][]![windows icon][]| Quickly search, compare, and analyze genomic and metagenomic data sets. |
81
81
|[abess][]|![github icon][]|![windows icon][]![apple icon][]![linux icon][]| A fast best-subset selection library. It uses cibuildwheel to build a large project with C++ extensions. |
@@ -115,7 +115,7 @@ title: Working examples
115
115
|[CorrectionLib][]|![github icon][]|![apple icon][]![linux icon][]| Structured JSON powered correction library for HEP, designed for the CMS experiment at CERN. |
|[werpy][]|![github icon][]|![windows icon][]![linux icon][]![apple icon][]| An ultra-fast python package using optimized dynamic programming to compute the Word Error Rate (WER). |
118
-
|[pyinstrument_cext][]|![travisci icon][]![appveyor icon][]|![windows icon][]![apple icon][]![linux icon][]| A simple C extension, without external dependencies |
118
+
|[pyinstrument_cext][]|![travisci icon][]|![windows icon][]![apple icon][]![linux icon][]| A simple C extension, without external dependencies |
119
119
|[pybind11 cross build example][]|![github icon][]![gitlab icon][]|![windows icon][]![apple icon][]![linux icon][]| Same as pybind11 cmake_example but used to demo Linux ARM + Windows + macOS builds on GitLab |
0 commit comments