pypi / warehouse

The Python Package Index
https://pypi.org
Apache License 2.0
3.53k stars 950 forks source link

JSON API for deleting releases/files #12934

Open virtuald opened 1 year ago

virtuald commented 1 year ago

What's the problem this feature will solve? I have a lot of oversized wheels that I'd like to delete from pypi to avoid asking for several project size increases.

Describe the solution you'd like We have probably a dozen or so separate libraries each with their own projects + wheels, so I'd rather write a script to do this, but there's currently no API to do it.

Additional context I run the RobotPy project, which provides a way for FIRST Robotics students to use python on their robot. We have a lot of releases/wheels over the last several years, and I'm starting to hit the project size limit. Turns out that I hadn't been stripping some of the binaries in my wheels. We make YEAR.X.Y releases, and honestly students aren't really going to be using anything from prior years except maybe the latest release for a particular year. To release some of the pressure on my project sizes, I'd like to delete all pre releases, and delete any of our manylinux wheels from everything except the last release per-year.

dirkroorda commented 1 year ago

I am also looking for something like this. My project has currently over 360 releases, and I would like to weed them out, retaining 1 or 2 of each major version, except the last major version.

di commented 1 year ago

Blocked on https://github.com/pypi/warehouse/issues/13409.

octachrome commented 10 months ago

We also need this. We currently delete old releases automatically by POSTing {"confirm_delete_version": xxx} to manage/project/{project}/release/{release}/, which requires a CSRF token that we grab during an automated login. This will stop working at the end of 2023, when all PyPI accounts will require 2-factor authentication. Without a REST API for deleting releases this will become a manual process for us.

artanokhov commented 7 months ago

+1 for this feature.

A large number of projects publish their nightly packages on daily basis that need to be rotated. Starting this year we can't proceed with automatic cleanup because of 2FA, previously we use the same method that described by @octachrome.

Actually any ways to set automatic retention policy will be welcome.

liu-shaojun commented 7 months ago

+1 for this feature.