Skip to main content

PyPI Bulk Release Version Cleanup Utility

Project description

PyPI Bulk Release Version Cleanup Utility

PyPI Cleanup Version PyPI Cleanup Python Versions PyPI Cleanup Downloads Per Day PyPI Cleanup Downloads Per Week PyPI Cleanup Downloads Per Month

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 password may be passed via environment variable PYPI_CLEANUP_PASSWORD. Otherwise, you will be prompted to enter it.

Authentication with TOTP is supported.

Examples:

$ pypi-cleanup --help
usage: pypi-cleanup [-h] -u USERNAME -p PACKAGE [-t URL] [-r PATTERNS] [--do-it] [-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-hypernode.com/)
  -r PATTERNS, --version-regex PATTERNS
                        regex to use to match package versions to be deleted (default: None)
  --do-it               actually perform the destructive delete (default: False)
  -y, --yes             confirm extremely dangerous destructive delete (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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypi-cleanup-0.1.2.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

pypi_cleanup-0.1.2-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file pypi-cleanup-0.1.2.tar.gz.

File metadata

  • Download URL: pypi-cleanup-0.1.2.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pypi-cleanup-0.1.2.tar.gz
Algorithm Hash digest
SHA256 728c3f3586516902a96a6d1d8b94aa13ff4c24369eb45be4d43a635203a54c28
MD5 6825363d7ab66a14ade396bd4ee9c05d
BLAKE2b-256 39c2f0085f7942b4af757617e9009ea70f968525b90bff986c88182e6879717c

See more details on using hashes here.

File details

Details for the file pypi_cleanup-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pypi_cleanup-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pypi_cleanup-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8fb876abfbfee621cf0e652cac7c3ae827c3ca53e58a44e2364a3e378b72a6a1
MD5 ee53ffe92f3331d07e29a1ac32f6741b
BLAKE2b-256 c08d1e3617adfc2d39372137a2e0933f112d66c0114281db820a5705689d0d25

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page