y-crdt/ypy

No wheels for python 3.11

davidbrochart opened this issue · 3 comments

Python 3.11 is out and already available on conda-forge, could we release y-py with wheels for it?

Would it be worth it to build for Python's stable ABI, so the built wheels are compatible across Python versions?
I'm not familiar with Rust (though I can help with Python stable ABI), but it should be possible with:

[dependencies.pyo3]
features = ["extension-module", "abi3-py37"]

(The resulting wheel should still be tested on all supported Python versions.)

Hey @encukou, I was checking out your abi3 proposal repository. How significant is the performance overhead that you mention?

You aren't likely to notice unless you're counting CPU instructions or optimizing for CPU cache at the Rust/Python boundary.
The biggest slowdown I know is that rather than accessing memory directly, “everything” is a function call. In particular, Py_INCREF is a C function call rather than C int increment.

My abi3 repo is a collection of notes, some of which are outdated now. The proposal was PEP 652 and official docs are at https://docs.python.org/3/c-api/stable.html. Let me know if I can clarify something.