pypi / warehouse

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

Soft Deletes Meta Issue #6091

Open ewdurbin opened 5 years ago

ewdurbin commented 5 years ago

Currently, all deletes are good and proper Deletions.

This imposes quite a bit of risk for moderator activities, causes confusion and frustration for maintainers, and blocks us from implementing some important features down the line.

This issue is a "Meta Issue" for tracking progress on soft deletion implementation for models for which it makes sense.

Currently:

benjaoming commented 4 years ago

Is this issue okay to use for feedback/input? Otherwise, I'll happily delete and post elsewhere.

Here is a scenario that might cause frustrations in the future, as the pattern might propagate: Bots (like dependabot) + Pipenv.lock + package deletion = :confounded:

This is already happening.

In this scenario, bots create updates (PRs) for Pipenv.lock that are hard for humans to read, they quickly and automatically pass the build, and once they are merged, they're broken -- because the package take a while for a human to delete, and PRs take a while for humans to merge.

There are some ingredients in the deletion that can perhaps be put to use?

di commented 4 years ago

Hi @benjaoming, thanks for the feedback. I think that this issue would be resolved by completing https://github.com/pypa/warehouse/issues/5837 and implementing "yanking" as an alternative to performing a deletion (regardless of whether it's a hard delete or a soft delete), as you would still be able to pin to a yanked package without issue.

ewdurbin commented 1 year ago

https://github.com/flipbit03/sqlalchemy-easy-softdelete seems to be a potential option for implementing soft-deletes.

miketheman commented 1 year ago

Adding related conversation: https://discuss.python.org/t/stop-allowing-deleting-things-from-pypi/17227 and https://github.com/pypi/warehouse/issues/11841

woodruffw commented 1 month ago

More xreffing: https://discuss.python.org/t/pep-763-limiting-deletions-on-pypi/69487 and PEP 763 for limiting deletions on PyPI (i.e. moving 100% to yanks/soft deletes).