pypi / support

Issue tracker for support requests related to using https://pypi.org
95 stars 47 forks source link

Project Limit Request: ansible - 20 GB #5106

Open felixfontein opened 1 day ago

felixfontein commented 1 day ago

Project URL

https://pypi.org/project/ansible

Does this project already exist?

New limit

20 GB

Update issue title

Which indexes

PyPI

About the project

Ansible is a radically simple IT automation system. It handles configuration management, application deployment, cloud provisioning, ad-hoc task execution, network automation, and multi-node orchestration. Ansible makes complex changes like zero-downtime rolling updates with load balancers easy. More information on the Ansible website.

Ansible has been around for almost 12 years (1.0 was released in February 2013) and has attracted a large user-base. The ansible package was always a "batteries included" version, coming with many Ansible modules and plugins (most of them written in Python) in form of Ansible collections that allow to do many different automation tasks.

Since version 2.10, the project has been split up in the core engine (ansible-base, later renamed to ansible-core, also on PyPI) and the "batteries included" package ansible, which contains the extra Ansible modules and plugins and depends on the core engine.

How large is each release?

The current releases are around 40-45 MB per release (source distribution), resp. around 50 MB (wheel).

Wheels have been included since the Ansible 6.0.0 pre-releases. The source distribution contains tests and documentation provided by the Ansible collections that the ansible package is built from (the https://github.com/ansible-community/ansible-build-data/ repository keeps track of the included collections and their versions, and the https://github.com/ansible-community/antsibull-build repository contains the build tool which assembles the ansible package from that information). For legal reasons we likely cannot remove files from the source distribution (there are disagreements over that, but we never were able to get legal confirmation that we can actually remove files). We are regularly removing not properly maintained Ansible collections from the package, in the last years more than we added new Ansible collections to the package.

How frequently do you make a release?

We generally release a new minor version every 4 weeks of every active major release cycle. Generally only one major release cycle is active at one point of time (with a slight overlap when a new major release is made); there was an exception in the last 6 months where both Ansible 9 and 10 had minor releases (Ansible 9 was the last version to support certain targets, namely Python 3.6 and 2.7 on the remotes, and we wanted to help users who had to administer such targets by making Ansible 9 a "kind of" LTS release, being active 6 months longer than usual).

Before a x.0.0 release there is a set of pre-releases (usually 4-6 pre-releases, see for example the Ansible 11 roadmap: https://docs.ansible.com/ansible/devel/roadmap/COLLECTIONS_11.html). Minor releases do not have pre-releases, and there are generally no bugfix releases. The only bugfix releases we had in the last years were due to packaging screw-ups or major bug/security fixes in the contained Ansible collections. If I'd have to guess there's in average one bugfix release per major release cycle.

This gives an approximate number of ~25 releases per year that are uploaded to PyPI, each having 90-100 MB.

I put in a request for a 20 GB limit so we should be good for another ~4 years, assuming the numbers don't change considerably. Thanks for your consideration!

Code of Conduct

felixfontein commented 1 day ago

CC @anweshadas @gotmax23 @gundalow @jimi-c @mariolenz @mattclay @nitzmahone @oraNod @rooftopcellist @sivel, who also have access to the ansible project on PyPI, and CC @webknjaz who isn't listed there but is also involved :)

webknjaz commented 1 day ago

@felixfontein has the limit already been reached or is it just expected to be hit soon? It may take many months to get this request processed because there's only one PyPI support engineer on payroll.

felixfontein commented 1 day ago

@webknjaz it has been reached, we weren't able to upload today's Ansible 11.0.0rc1 due to it.

gundalow commented 1 day ago

Is yonking any old alphas an option, I wonder if we can find any that haven't ever been downloaded (or were last downloaded a long time ago)?

webknjaz commented 1 day ago

Yanking won't help but deleting might.