Skip to content

Build Python Wheels for Offline and Online installation. Online installation is using https://dl.espressif.com/pypi/

Notifications You must be signed in to change notification settings

fhrbata/idf-python-wheels

 
 

Repository files navigation

ESP idf-python-wheels

The goal of this project is to automate build and upload process of required Python Wheels by IDF tools using GitHub Actions. We are able to build wheels for multiple OSes and architectures with multiple versions of Python.

Supported architectures:

  • ubuntu-latest - x64
  • macos-latest - x64
  • macos-self-hosted - arm64
  • windows-latest - x64
  • linux-armv7-self-hosted - arm32
  • linux-aarch64-self-hosted - arm64

Each architecture has it's own workflow in .github/workflows except aarch64 Linux - not ready as GitHub runner yet.

For each architecture the user can select Python version to built wheels. On self-hosted runners can handle multiple versions of Python with pyenv.

The build contains all wheels required by branches:

  • release/v4.3
  • release/v4.4
  • master

Configuration

  • user can set IDF_branch input parameter to add wheels for another branch.
  • currently, it is possible to run a workflow for the whole requirenments.txt
  • to add new architecture, set up GitHub runner, and create new GitHub Action
  • workflows need to be started manually

Usage for x64 build

.\Build-Wheels.ps1 -Branch "master" -Arch "" -CompileWheels @("greenlet", "gevent<2.0,>=1.2.2", "cryptography", "windows-curses", "python-pkcs11") -Python python3.9
.\Test-Wheels.ps1 -Branch "master"

Usage for arm64 build

.\Build-Wheels.ps1 -Branch "master" -Arch "-arm64" -CompileWheels @("greenlet", "gevent<2.0,>=1.2.2", "cryptography", "windows-curses", "python-pkcs11") -Python python3.9
.\Test-Wheels.ps1 -Branch "master"

About

Build Python Wheels for Offline and Online installation. Online installation is using https://dl.espressif.com/pypi/

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 38.4%
  • PowerShell 30.1%
  • Python 27.8%
  • Shell 3.7%