-
Notifications
You must be signed in to change notification settings - Fork 31
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
Enable caching by default to help PyPI #54
Comments
I will add a more thourough answer soon but als a short teaser on why the default is currently disabled:
|
|
In a feature release caching will be automatically enabled on Github hosted runners. I think this strikes a good balance between the arguments outlined so far. |
Closes: #54
@eifinger wouldn't you need to set In my understanding of that setting (which defaults to true btw) - only locally built wheels will be cached - while wheels downloaded from pypi will be pruned - resulting in an empty cache if all packages had wheels on pypi. Automatically, this will then do not much to reduce the load on pypi / fastlify ... |
I see caching is disabled by default (except for self-hosted runners).
What are the reasons for not enabling by default?
Nearly 30% of PyPI's downloads come from CIs (via BigQuery). Given 47.1 billion total downloads per month (via PyPI Stats), at least 13.8 billion downloads/month come from CIs.
Last month, PyPI used 105.5 PB bandwidth, which at list price would be around $12.5 million per month (via PyPA Discord). Fastly very generously gives PyPI a 100% discount on their bill.
At PyCon US this year, Fastly said over 10 years, they have served 4,682.1 billion requests and 2.41 exabytes of data:
If astral-sh/setup-uv enabled caching by default, this would significantly help ease the load on PyPI and Fastly, plus it can speed up runs by several minutes.
The text was updated successfully, but these errors were encountered: