Dear gRPC Maintainers,
in my experience it is presently still very challenging to get gRPC for Python
working on Apple's M1 Platform ("Apple Silicon"). There have been various user
issues on github (see [1][2][3][4][5][6] for a partial collection of the issues)
regarding this, so I think many other members of the open source community
are facing very similar challenges.
This becomes increasingly more important as more open source projects are
building on top of gRPC, and each of these projects is inheriting all the
challenges around getting Python gRPC working on M1.
The issues are mainly about compiling gRPC and its dependencies (including
boringssl, zlib etc.) from the provided gRPC Python source distibutions. One possibility
to make this massively easier would be for Google/the gRPC team to provide binary
wheels for Python gRPC on M1 -- this would completely remove this set of friction
points for everybody. Currently there are lots of different workarounds that all
break in subtle and frustrating ways on different configurations.
currently we have to provide specialized instructions [7] to support M1 because there
are no gRPC M1 wheels (we basically have to fall back on conda's binary distribution,
which forces everybody to use conda).
You could improve the lives of everybody relying on Python gRPC on M1 greatly by
shipping M1 gRPC wheels on pypi, so people won't need to worry about getting a
working gRPC distribution.
Just wanted to get the discussion started and make sure this is on your radar and
check if there are plans for supporting it :)
I'd also like to take this opportunity to thank you all for making a lot of high quality
open source software available (e.g. gRPC, absl, bazel, K8s, TensorFlow) -- these are all
great to use, extremely well engineered and very useful enhancements of the
open source ecosystem!
All the best and thanks for your help,
Philipp.