Skip to content

JSON API for deleting releases/files #12934

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

Open
virtuald opened this issue Feb 6, 2023 · 6 comments
Open

JSON API for deleting releases/files #12934

virtuald opened this issue Feb 6, 2023 · 6 comments
Labels
APIs/feeds blocked Issues we can't or shouldn't get to yet feature request

Comments

@virtuald
Copy link

virtuald commented Feb 6, 2023

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.

@virtuald virtuald added feature request requires triaging maintainers need to do initial inspection of issue labels Feb 6, 2023
@dirkroorda
Copy link

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
Copy link
Member

di commented Apr 11, 2023

Blocked on #13409.

@di di added the blocked Issues we can't or shouldn't get to yet label Apr 11, 2023
@di di removed the requires triaging maintainers need to do initial inspection of issue label Jun 9, 2023
@octachrome
Copy link

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
Copy link

+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

This comment has been minimized.

1 similar comment
@germainlefebvre4

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
APIs/feeds blocked Issues we can't or shouldn't get to yet feature request
Projects
None yet
Development

No branches or pull requests

8 participants