librariesio / libraries.io

:books: The Open Source Discovery Service
https://libraries.io
GNU Affero General Public License v3.0
1.11k stars 203 forks source link

Enable pypi package versions to be individually marked as removed #3169

Closed jhan217 closed 1 year ago

jhan217 commented 1 year ago

The Pypi api returns a yanked status at the package release level. This PR extracts that data and stores it in the database for each Pypi package version.

One assumption this PR makes is that if there are multiple distributions of a package release (e.g. package-1.0.0.tar.gz, package-1.0.0.whl), if one of the package releases is yanked then all of the package releases are yanked.

There are also a couple of rubocop autocorrect fixes in the PR.