Skip to content

py_limited_api #91

@fixthething

Description

@fixthething

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.

py_limited_api.patch

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions