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

publish purepython/universal wheel? #881

Closed
jku opened this issue Sep 13, 2023 · 3 comments
Closed

publish purepython/universal wheel? #881

jku opened this issue Sep 13, 2023 · 3 comments
Assignees

Comments

@jku
Copy link

jku commented Sep 13, 2023

Long story short

CD pipeline does not publish a pure python version on PyPI.

I don't have a pressing need for this but we're investigating whether we can make some sigstore-python functionality available as a pure python module and this dependency came up as one of the issues preventing that.

Expected behaviour

Since multidict can be built as a pure Python module I expected a wheel to be available in PyPI as well

Actual behaviour

cd-cd.yml does not seem to build a purepython wheel, but the ability is there in the build system itself.

Details

I can provide a PR but I admit I haven't tested it (CD pipelines being a bit tricky to test). The changes needed seem to be:

  • add a new build matrix variable noextensions (default 0) , and add a new build into the build matrix that uses noextensions: 1
  • based on a matrix variable set MULTIDICT_NO_EXTENSIONS during the build
  • fix bug in MULTIDICT_NO_EXTENSIONS handling so that "MULTIDICT_NO_EXTENSIONS=0" actually uses extensions
@jku jku changed the title publish purepython wheel? publish purepython/universal wheel? Sep 13, 2023
@jku
Copy link
Author

jku commented Sep 13, 2023

I can provide a PR but I admit I haven't tested it (CD pipelines being a bit tricky to test)

Looking at the workflow again, it does trigger for PRs so it will get tested. Let me know if you'd like a PR for this.

@webknjaz
Copy link
Member

Sounds reasonable. I think we do this in some other projects.
FWIW I've been meaning to refactor packaging to turn that build feature flag into something standard on the PEP 517 level. I'll try to remember this case when I get to it.
As for the CI, the tests currently don't run against wheels about to be published. This is something I have in mind too.

@webknjaz webknjaz self-assigned this Dec 17, 2023
@webknjaz
Copy link
Member

webknjaz commented Jan 6, 2024

7ba0e72 implemented this in CI. The py3-any wheel will be published with the next release.

@webknjaz webknjaz closed this as completed Jan 6, 2024
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

Successfully merging a pull request may close this issue.

2 participants