-
Notifications
You must be signed in to change notification settings - Fork 43
Description
If you are tired of building wheels for python3.6, 3.7, 3.8....3.12, 3.13....
I have a patch for you that will build the wheels as py_limited_api, and then you only need to distribute one binary wheel (forward compatible to new python versions, too). If you build the wheels with this patch, then you'll only need one bdist_wheel for Windows, one for Mac, and (if you build inside the manylinux_2.28 container) one for Linux.
You have to sacrifice one small performance optimization, as _PyBytes_resize is not part of the stable ABI. So instead, you have to create a new results bytes object after compression with the correct size. I would argue that the single extra malloc/memcpy on compression is probably not the biggest deal since LZO performance is focused on decompression, not compression.
See patch, attached.