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

Build wheels for musl Linux (musllinux_1_1_x86_64) #476

Merged
merged 1 commit into from Sep 20, 2021

Conversation

bwoodsend
Copy link
Collaborator

Users on musl based Linux distributions will no longer need a C compiler to install ujson (no issue to link).

Changes proposed in this pull request:

  • Build wheels of musl Linux using the PEP656 implementation released yesterday. Its design mirrors that of its glibc counterpart, the manylinux series, making this PR easy.

I've done a few PyPI stats queries. In the last month, these are how many downloads ujson had from musl Linux users for each architecture. I don't know if you consider 144 downloads enough to warrant adding musllinux_1_1_aarch64 too?

Row cpu counts  
1 ppc64le 4  
2 armv7l 27  
3 i686 6  
4 x86_64 35266  
5 aarch64 144  

PEP656 (wheels for musl Linux) as just been implemented. This means that we can
now build wheels that will run on Alpine (a very popular and speedy base docker
image) or OpenWRT (a tiny Linux distribution often used on embeded devices).

Its design mirrors that of its glibc counterpart, the manylinux series, making
it drop-in compatible with our existing manylinux setup.
@codecov-commenter
Copy link

codecov-commenter commented Sep 19, 2021

Codecov Report

Merging #476 (1271461) into main (f23afd0) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #476   +/-   ##
=======================================
  Coverage   88.96%   88.96%           
=======================================
  Files           6        6           
  Lines        1685     1685           
=======================================
  Hits         1499     1499           
  Misses        186      186           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f23afd0...1271461. Read the comment docs.

@hugovk hugovk added the changelog: Added For new features label Sep 20, 2021
@hugovk
Copy link
Member

hugovk commented Sep 20, 2021

I've done a few PyPI stats queries. In the last month, these are how many downloads ujson had from musl Linux users for each architecture. I don't know if you consider 144 downloads enough to warrant adding musllinux_1_1_aarch64 too?

Sure, why not. I'll merge this now to check how it builds once merged, new PR welcome! Thanks!

At some point we could add PyPy3 where available too.

@hugovk hugovk changed the title Build wheels for musl Linux. Build wheels for musl Linux (musllinux_1_1_x86_64) Sep 20, 2021
@hugovk hugovk merged commit a5d5f31 into ultrajson:main Sep 20, 2021
27 checks passed
@hugovk
Copy link
Member

hugovk commented Sep 20, 2021

At some point we could add PyPy3 where available too.

Forgot I'd already created PR #475, that's why it was on my mind! Now updated to exclude PyPy3 from musllinux_1_1_x86_64, as it's not available there.

@bwoodsend
Copy link
Collaborator Author

Ah cool, I'll add musl+aarch64 then. And I'm fairly certain I know what #456 needs...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog: Added For new features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants