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

Please provide Wheels for Apple Silicon #395

Closed
cdeil opened this issue Jan 6, 2024 · 5 comments · Fixed by #402
Closed

Please provide Wheels for Apple Silicon #395

cdeil opened this issue Jan 6, 2024 · 5 comments · Fixed by #402

Comments

@cdeil
Copy link

cdeil commented Jan 6, 2024

I'm on a MacBook with M1 chip and see this:

$ pip install viztracer
Collecting viztracer
  Downloading viztracer-0.16.1.tar.gz (15.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.2/15.2 MB 8.5 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting objprint>0.1.3 (from viztracer)
  Obtaining dependency information for objprint>0.1.3 from https://files.pythonhosted.org/packages/b2/d8/c514052dd125848a72b1013895e86557c7f6e04887b5b75f62b2fdbb3233/objprint-0.2.3-py3-none-any.whl.metadata
  Downloading objprint-0.2.3-py3-none-any.whl.metadata (25 kB)
Downloading objprint-0.2.3-py3-none-any.whl (39 kB)
Building wheels for collected packages: viztracer
  Building wheel for viztracer (pyproject.toml) ... done
  Created wheel for viztracer: filename=viztracer-0.16.1-cp311-cp311-macosx_11_0_arm64.whl size=15420464 sha256=6ba574e9cb8659c170cb596773f36654ba882cfdaaddb566cb0fe39f235d65b8
  Stored in directory: /Users/cdeil/Library/Caches/pip/wheels/01/aa/96/127297dc943a033b73229c9941a6973c1f2ea58d0501bed62d
Successfully built viztracer
Installing collected packages: objprint, viztracer
Successfully installed objprint-0.2.3 viztracer-0.16.1

Could you please start generating Wheels for MacOS ARM?

At https://pypi.org/project/viztracer/#files I see you already have many wheels, but arm64 is not there yet.

Generally all new MacBooks now are Apple Silicon ARM chips and it would be nice to have the faster pip install viztracer with the Wheel readily available vs having to build it locally from the sdist.

@gaogaotiantian
Copy link
Owner

Hi, thanks for the suggestion. I'd love to add support for M1, but currently viztracer relies on github actions to build, test and deploy(including buidling wheels). Even though github actions announced support for Apple M1 on October, it's still in public preview and it's only available at pay tier. A free macos-arm64 VM is not available for the public now. I hope (and believe) that it would be available in the future, and that's when viztracer can officially support MacOS ARM.

@gaogaotiantian
Copy link
Owner

Today github announced the free Mac VM with Apple silicon. We will proceed on this matter and support MacOS ARM in the next release (hopefully soon).

@cdeil
Copy link
Author

cdeil commented Jan 31, 2024

@gaogaotiantian - wonderful! Thank you!

Just a note that there's many scientific Python projects like Numpy etc pp that use https://github.com/pypa/cibuildwheel or other tooling to cross-compile and produce wheels also for the Mac ARM platform already since years.

I don't know much about the details, just FYI in case the new solution you implemented doesn't do all you want that might be an alternative.

@gaogaotiantian
Copy link
Owner

Cross-compile is one thing, testing is another. To support a specific platform, I'd like to at least run the test suite on it. Linux aarch64 might be an outlier - we do not officially support that, but we do have wheels for it. For MacOS M*, I'd like to make it right, and that's why I waited until the VM support from github actions.

The github action changes are already merged and everything worked fine (except for attach which will not be supported). The new version will be released after #391 is merged.

@gaogaotiantian
Copy link
Owner

0.16.2 is released with Apple Silicon support. Feel free to try it out :)

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