Skip to content

modem7/cibuildwheel

Repository files navigation

CIBuildWheel repository.

GitHub last commit Build and upload wheels

CIBuildWheel repository for Modem7 Cloudsmith Python packages. Built with cibuildwheel and hosted with Cloudsmith.

Recipes and continuous integration (CI) to build wheels for Python packages that don't provide them on PyPI.

Creating new packages

Automatic

A package recipe is a simple meta.yaml file (in YAML format), contained in a dedicated subdirectory of recipes/ , specifying the package name and version, e.g. the recipe for Mercurial 6.1.1 would be in the file recipes/mercurial/meta.yaml containing:

---
name: borgbackup
version: 1.2.3

When a recipe is added to this repository or updated (via PR), a CI job downloads from PyPI the sdist archive for the specified package, and then builds the wheels using either cibuildwheel (default) or build (if it is a pure Python package specified with purepy: true in the recipe).

Manual

To build the wheels manually, run the manual scripts included in the repo.

Current scripts:

  • borg.sh
  • llfuse.sh
  • msgpack.sh
  • pyyaml.sh
  • ruamel.yaml.clib.sh

The wheels will be output to the wheelhouse folder.

Once you have built the wheels, you can upload using the cloudsmith.sh script.

You can find your Cloudsmith API key here.