PyPI Bulk Release Version Cleanup Utility
Project description
PyPI Bulk Release Version Cleanup Utility
Overview
PyPI Bulk Release Version Cleanup Utility (pypi-cleanup
) is designed to bulk-delete releases from PyPI that match
specified patterns.
This utility is most useful when CI/CD method produces a swarm of temporary
.devN pre-releases in between versioned releases.
Being able to cleanup past .devN junk helps PyPI cut down on the storage requirements and keeps release history neatly organized.
WARNING
THIS UTILITY IS DESTRUCTIVE AND CAN POTENTIALLY WRECK YOUR PROJECT RELEASES AND MAKE THE PROJECT INACCESSIBLE ON PYPI.
This utility is provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.
Details
The default package release version selection pattern is r".*dev\d+$"
.
Authentication with TOTP is supported.
Examples:
$ pypi-cleanup --help
usage: pypi-cleanup [-h] -u USERNAME -p PACKAGE [-t URL] [-r PATTERNS] [-n] [-y] [-v]
PyPi Package Cleanup Utility
optional arguments:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
authentication username (default: None)
-p PACKAGE, --package PACKAGE
PyPI package name (default: None)
-t URL, --host URL PyPI <proto>://<host> prefix (default: https://pypi.org/)
-r PATTERNS, --version-regex PATTERNS
regex to use to match package versions to be deleted (default: None)
-n, --dry-run do not actually delete anything (default: False)
-y, --yes confirm dangerous action (default: False)
-v, --verbose be verbose (default: 0)
$ pypi-cleanup -u arcivanov -p pybuilder
Password:
Authentication code: 123456
INFO:root:Deleting pybuilder version 0.12.3.dev20200421010849
INFO:root:Deleted pybuilder version 0.12.3.dev20200421010849
INFO:root:Deleting pybuilder version 0.12.3.dev20200421010857
INFO:root:Deleted pybuilder version 0.12.3.dev20200421010857
$ pypi-cleanup -u arcivanov -p geventmp -n -r '.*\\.dev1$'
Password:
WARNING:root:RUNNING IN DRY-RUN MODE
INFO:root:Will use the following patterns [re.compile('.*\\.dev1$')] on package geventmp
Authentication code: 123456
INFO:root:Deleting geventmp version 0.0.1.dev1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pypi_cleanup-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6425b0fc45ba551b21b8da42b423d48e7031fb6a8b1067827af4215fb5f77735 |
|
MD5 | 73f0133e62bcf5ca0c9320338647f77e |
|
BLAKE2b-256 | cd2fdad6b37d08b231a05fdb643f8241ee0a35f0fe31e04382fe05650fa2231d |