Skip to content

feat: distribute future-compatible python wheels#80

Merged
2bndy5 merged 5 commits intomainfrom
py-abi3
Sep 2, 2025
Merged

feat: distribute future-compatible python wheels#80
2bndy5 merged 5 commits intomainfrom
py-abi3

Conversation

@2bndy5
Copy link
Member

@2bndy5 2bndy5 commented Sep 2, 2025

This ensures future-compatibility with newer Python versions without having to re-deploy the python binding
when a new Python version reaches stable status.

This uses pyo3 crate's abi3-py39 feature. Meaning, the minimum supported Python version remains v3.9.x.

Subsequently, this also reduces the build time for the python CI workflow. 🎉

This ensures future-compatibility with newer Python versions
without having to re-deploy the python binding
when a new Python version reaches stable status.

This uses pyo3 crate's `abi3-py39` feature. Meaning, the minimum supported Python version remains v3.9.x.
@2bndy5 2bndy5 added enhancement New feature or request python Pull requests that update Python code labels Sep 2, 2025
in python binding README
and update uv.lock
@2bndy5
Copy link
Member Author

2bndy5 commented Sep 2, 2025

tested on RPi3 and RPi4 with no problems nor degraded performance 💯

@2bndy5 2bndy5 merged commit eea1898 into main Sep 2, 2025
23 checks passed
@2bndy5 2bndy5 deleted the py-abi3 branch September 2, 2025 04:37
@2bndy5
Copy link
Member Author

2bndy5 commented Sep 2, 2025

FWIW, this patch is not possible in pyRF24 project. Apparently, pybind11 does not support CPython's stable ABI (which is what this patch migrates to); see discussion on pybind11 repo. It is supported in the nanobind project (a performance-oriented rewrite of pybind11), but the minimum supported Python version is v3.12 when using CPython's stable API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant