mypy icon indicating copy to clipboard operation
mypy copied to clipboard

Wheel support for linux aarch64

Open odidev opened this issue 5 years ago • 4 comments

Summary Installing mypy on aarch64 via pip using command "pip3 install mypy" tries to build wheel from source code.

Problem description mypy doesn't have wheel for aarch64 on PyPI repository. So, while installing mypy via pip on aarch64, pip builds wheel for same resulting in it takes more time to install mypy. Making wheel available for aarch64 will benefit aarch64 users by minimizing mypy installation time.

Expected Output Pip should be able to download mypy wheel from PyPI repository rather than building it from source code.

@mypy-team, please let me know if I can help you building wheel/uploading to PyPI repository. I am curious to make mypy wheel available for aarch64. It will be a great opportunity for me to work with you.

.

odidev avatar Nov 02 '20 09:11 odidev

This issue should go to https://github.com/mypyc/mypy_mypyc-wheels. I've opened https://github.com/mypyc/mypy_mypyc-wheels/issues/12

emmatyping avatar Nov 03 '20 01:11 emmatyping

Note mypy ships with a pure Python wheel, so you shouldn't be seeing anything building... (also mypy_mypyc-wheels has a PR that makes a large number of changes pending, so I'd hold off on making a PR till that gets merged)

hauntsaninja avatar Nov 03 '20 01:11 hauntsaninja

Let's keep the issue also open here for more visibility, since not many users know about https://github.com/mypyc/mypy_mypyc-wheels.

JukkaL avatar Nov 04 '20 18:11 JukkaL

I've opened https://github.com/mypyc/mypy_mypyc-wheels/pull/37 which adds this support and also arm64 on MacOS. Would appreciate a workflow approval, review, and test on a Mac since I don't have one :(

uSpike avatar Aug 05 '22 18:08 uSpike

https://github.com/mypyc/mypy_mypyc-wheels/pull/37 was closed as the build took too long. Would a PR to build linux aarch64 wheels natively on circleci (for free) similar to https://github.com/zeromq/pyzmq/pull/1743 be accepted?

mr-c avatar Aug 18 '22 12:08 mr-c

Is it possible to give some feedback to the above to unlock this situation, or is this issue essentially blocked due to no good enough solutions for building wheels?

aiven-anton avatar Oct 06 '23 10:10 aiven-anton

Another bump on this, specifically on the question of whether a PR containing a CircleCI config would be desirable. Thanks! (@hauntsaninja?)

isuro avatar Oct 13 '23 21:10 isuro

I don't think I have perms to hook up https://github.com/mypyc/mypy_mypyc-wheels to a new CI provider and if it breaks I probably won't have time to fix it. But those caveats aside, seems like a reasonable thing to make a PR for

hauntsaninja avatar Oct 13 '23 21:10 hauntsaninja

As mentioned here, it's probably possible to emulate arm64 builds on a macos gha runner with colima/docker. With no need for CPU emulation, the build should be performant enough.

I'm trying to find the time to do this.

jriddy avatar Nov 09 '23 14:11 jriddy

~~https://github.com/lablup/backend.ai-oven/tree/main/pypi/projects/mypy I'm building these by myself (using OrbStack on my Apple Silicon laptop) and want to see the official builds soon.~~ Ah, @jriddy already mentioned my previous comment. (I just forgot that I've already left it... 🥲)

The build steps are fairly easy enough (see build.md there), but it seems that it takes too much time to bootstrap all the compiler toolchains such as LLVM. It takes about 2 hours in M1 Max. If we could use some prebuilt container images with the toolchain already installed, we could reduce the build time more.

As of 2023 October, GitHub Actions has Apple Silicon runners. If we could utilize them, we could meet the hard time limit of the action workflow (the 6 hours limit as mentioned) to build the linux aarch64 mypyc-optimized wheels.

achimnol avatar Dec 26 '23 06:12 achimnol

That shouldn’t be too hard to do

On Tue, Dec 26, 2023 at 01:30 Joongi Kim @.***> wrote:

https://github.com/lablup/backend.ai-oven/tree/main/pypi/projects/mypy I'm building these by myself (using OrbStack https://orbstack.dev on my Apple Silicon laptop) and want to see the official builds soon.

The build steps are fairly easy enough, but it seems that it takes too much time to bootstrap all the compiler toolchains such as LLVM. If we could use some prebuilt container images with the toolchain already installed, we could reduce the build time more.

— Reply to this email directly, view it on GitHub https://github.com/python/mypy/issues/9688#issuecomment-1869295924, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAH5UH5KSOLWDJ4MKA5OEDTYLJVHLAVCNFSM4THG7HL2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBWHEZDSNJZGI2A . You are receiving this because you commented.Message ID: @.***>

jriddy avatar Dec 26 '23 11:12 jriddy