Skip to content

feat: use py limited ABI#185

Closed
henryiii wants to merge 1 commit into
pallets:masterfrom
henryiii:feat/limapi
Closed

feat: use py limited ABI#185
henryiii wants to merge 1 commit into
pallets:masterfrom
henryiii:feat/limapi

Conversation

@henryiii
Copy link
Copy Markdown

@henryiii henryiii commented Feb 7, 2021

Checklist:

  • Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
  • Add or update relevant docs, in the docs folder and in code.
  • Add an entry in CHANGES.rst summarizing the change and linking to the issue.
  • Add .. versionchanged:: entries in any relevant code docs.
  • Run pre-commit hooks and fix any issues.
  • Run pytest and tox, no tests failed.

Quick base for a Limited API build; this creates both a correctly named wheel, with correctly named insides seen with unzip -l, when I run pipx run --spec build pyproject-build. I've reworked the wheel building just a bit to make it easier to at test with a later version of Python (probably you want to run tox but load the wheel each time, perhaps? Or just load on 3.9 and verify it passes PyTest. This part depends on the project specifics).

If you can clean up the setup.py, go ahead, don't want to get in the way of that. :)

@henryiii
Copy link
Copy Markdown
Author

henryiii commented Feb 7, 2021

Also, if you want to support PyPy, you'd need to disable this based on PyPy vs. CPython, and add pp3* to CIBW_BUILD, I think. It wasn't supported before so didn't try to support it here; PyPy currently just doesn't build the speedups, AFIACT.

@davidism
Copy link
Copy Markdown
Member

davidism commented Feb 7, 2021

Thanks! I already have these changes in my branch, just missing the line in setup.py: https://github.com/pallets/markupsafe/tree/new-cibuildwheel-features, so I'll close this and update my branch. Also got some other new features like MacOS universal2.

Re: PyPy, based on #176 (comment) I determined that the speedups were actually slower on PyPy, so I'm leaving it to install from the sdist for now. #184 I couldn't find a nice way to build a universal wheel alongside platform wheels.

@davidism davidism closed this Feb 7, 2021
@henryiii
Copy link
Copy Markdown
Author

henryiii commented Feb 7, 2021

No problem, just meant to be an proof of concept / illustration. :)

@henryiii
Copy link
Copy Markdown
Author

henryiii commented Feb 7, 2021

You can remove setup-python from the workflow, it's not needed (completely ignored, technically) for the cibuildwheel action.

@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Feb 22, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consider using the stable API when building wheels for CPython

2 participants