Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bdist limitation #52

Closed
kcpevey opened this issue Oct 27, 2020 · 7 comments
Closed

bdist limitation #52

kcpevey opened this issue Oct 27, 2020 · 7 comments

Comments

@kcpevey
Copy link
Collaborator

kcpevey commented Oct 27, 2020

@mattip Is there a reason why we have bdist limited to 3.6 in setup.cfg

[bdist_wheel]
py-limited-api = cp36
@mattip
Copy link
Collaborator

mattip commented Oct 27, 2020

If we remove this requirement, we need to create a wheel for each version of python we wish to support. Since we do not use much of the python C-API, we can create a stable API binary package (see PEP 384). That is done using this definition. The wheel name should be something like fast_numpy_loops-0.0.0-cp36-abi3-linux_x86_64.whl, where the cp36-abi3 means this wheel can be installed on any python >=3.6 (it still needs to be used on linux_x6_64. After processing with auditwheel, if built in a proper manylinux docker, it can use the fast_numpy_loops-0.0.0-cp36-abi3-manylinux1.whl name). The dll inside the package is called _fast_numpy_loops.abi3.so, which also indicates it uses the stable API.

@mattip
Copy link
Collaborator

mattip commented Oct 27, 2020

We define the Py_LIMITED_API macro as well

@kcpevey
Copy link
Collaborator Author

kcpevey commented Oct 27, 2020

Ok. I didn't understand the naming convention. So if we include the above setup, then we build using py 3.8, it will build a wheel compatible for 3.6, 3.7 and 3.8?

@mattip
Copy link
Collaborator

mattip commented Oct 27, 2020

Assuming cibuildwheel supports that, yes

@mattip
Copy link
Collaborator

mattip commented Oct 27, 2020

And 3.9, 3.10, ...

@mattip
Copy link
Collaborator

mattip commented Oct 27, 2020

Xref pypa/cibuildwheel#78

@mattip
Copy link
Collaborator

mattip commented Jan 21, 2021

Closing, the question was answered.

@mattip mattip closed this as completed Jan 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants