zenoh-python icon indicating copy to clipboard operation
zenoh-python copied to clipboard

Use non-abi3 wheels

Open wyfo opened this issue 2 months ago • 1 comments

Describe the feature

Currently, Zenoh Python API is built using the PyO3 abi37 features, which means it uses the stable ABI of Python 3.7. It allows supporting all Python versions with only one wheel. On the other hand, it restrains a lot the set of features available – a lot of features are already available in CPython several versions before the stabilization in the ABI. For example, it's not possible for now to read a &str from a PyString using ABI. Also, Python buffer protocol is not available, and we cannot built custom exception, enclosing the Rust exception instead of converting it to a string.

Not using stable would allow using these features. It's possible to build one wheel for each Python version, there are many examples available https://github.com/PyO3/maturin-action?tab=readme-ov-file#examples.

wyfo avatar Apr 30 '24 14:04 wyfo