Closed lidizheng closed 2 years ago
CC @gnossen
Out of curiosity, have you consider adopting the limited API to reduce the amount of wheels you have per platform?
That's interesting! This is the first time I know there is a way to compile C Extensions that can be compatible for multiple Python versions. We are using Cython as the glue layer between C/C++ and Python. Reading the Cython change logs, they are providing support for limited API: https://cython.readthedocs.io/en/latest/src/changes.html. There might be some blockers we need to solve, e.g., asyncio usages, API compatibilities.
This is a good direction to explore, we might not have enough eng resources at this point (call for volunteers!) to act on it now. Our current usage is ~29GB, while the limit is 30GB. It will improve the QoL of our release managers if we can increase the project limit soon.
Let me know if anything is blocking this request.
I've set the project limit for grpcio
to 100 GB on PyPI and TestPyPI. I hope the people involved have the bandwidth to explore the limited API approach, it might be a bit tricky at the beginning, but a real life saver when having so many platforms, and versions.
@cmaureir Thank you! We will consider investing the limited API approach in our planning meet up.
Project URL
https://pypi.org/project/grpcio/
Does this project already exist?
New limit
100GB
Update issue title
Which indexes
PyPI, TestPyPI
About the project
grpcio
package is the Python implementation of the gRPC protocol. gRPC is a modern open source high performance Remote Procedure Call (RPC) framework. It's the #59 popular packages on PyPI based on download counts (https://hugovk.github.io/top-pypi-packages/). gRPC Python wraps gRPC Core as a C extension and we are supporting major platforms and cpu architectures: Linux/macOS/Windows, 86/64/ARMv7, manylinux/musllinux.The project's first release is around 2015, and we have ~200 releases over the years.
How large is each release?
~850 MB per release
Source Distribution: ~22 MB tarball
Binary Distribution for One Python Version (we support 3.6/3.7/3.8/3.9/3.10):
How frequently do you make a release?
Our release cycles are around every 6 weeks. It contains at least one pre-release and one official release, patch releases or multiple pre-releases might happen occasionally.
Conservatively, let's say our release frequency is 3 releases / 6 weeks.
Code of Conduct