pypi-cleanup


Namepypi-cleanup JSON
Version 0.0.2 PyPI version JSON
download
home_pagehttps://github.com/arcivanov/pypi-cleanup
SummaryPyPI Bulk Release Version Cleanup Utility
upload_time2020-06-30 14:54:38
maintainerArcadiy Ivanov
docs_urlNone
authorArcadiy Ivanov
requires_python>=3.6
licenseApache License, Version 2.0
keywords pypi cleanup build dev tool release version
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PyPI Bulk Release Version Cleanup Utility

[![PyPI Cleanup Version](https://img.shields.io/pypi/v/pypi-cleanup?logo=pypi)](https://pypi.org/project/pypi-cleanup/)
[![PyPI Cleanup Python Versions](https://img.shields.io/pypi/pyversions/pypi-cleanup?logo=pypi)](https://pypi.org/project/pypi-cleanup/)
[![PyPI Cleanup Downloads Per Day](https://img.shields.io/pypi/dd/pypi-cleanup?logo=pypi)](https://pypi.org/project/pypi-cleanup/)
[![PyPI Cleanup Downloads Per Week](https://img.shields.io/pypi/dw/pypi-cleanup?logo=pypi)](https://pypi.org/project/pypi-cleanup/)
[![PyPI Cleanup Downloads Per Month](https://img.shields.io/pypi/dm/pypi-cleanup?logo=pypi)](https://pypi.org/project/pypi-cleanup/)

## 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](https://www.python.org/dev/peps/pep-0440/#developmental-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:

```bash
$ 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)
```

```bash
$ 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
```

```bash
$ 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
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/arcivanov/pypi-cleanup",
    "name": "pypi-cleanup",
    "maintainer": "Arcadiy Ivanov",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "arcadiy@ivanov.biz",
    "keywords": "PyPI cleanup build dev tool release version",
    "author": "Arcadiy Ivanov",
    "author_email": "arcadiy@ivanov.biz",
    "download_url": "https://files.pythonhosted.org/packages/34/9c/ac1796868b72f33a15b99026153919beb43f494bd960d8eaea4ffee2e2a2/pypi-cleanup-0.0.2.tar.gz",
    "platform": "",
    "description": "# PyPI Bulk Release Version Cleanup Utility\n\n[![PyPI Cleanup Version](https://img.shields.io/pypi/v/pypi-cleanup?logo=pypi)](https://pypi.org/project/pypi-cleanup/)\n[![PyPI Cleanup Python Versions](https://img.shields.io/pypi/pyversions/pypi-cleanup?logo=pypi)](https://pypi.org/project/pypi-cleanup/)\n[![PyPI Cleanup Downloads Per Day](https://img.shields.io/pypi/dd/pypi-cleanup?logo=pypi)](https://pypi.org/project/pypi-cleanup/)\n[![PyPI Cleanup Downloads Per Week](https://img.shields.io/pypi/dw/pypi-cleanup?logo=pypi)](https://pypi.org/project/pypi-cleanup/)\n[![PyPI Cleanup Downloads Per Month](https://img.shields.io/pypi/dm/pypi-cleanup?logo=pypi)](https://pypi.org/project/pypi-cleanup/)\n\n## Overview\n\nPyPI Bulk Release Version Cleanup Utility (`pypi-cleanup`) is designed to bulk-delete releases from PyPI that match\nspecified patterns.\nThis utility is most useful when CI/CD method produces a swarm of temporary\n[.devN pre-releases](https://www.python.org/dev/peps/pep-0440/#developmental-releases) in between versioned releases.\n\nBeing able to cleanup past .devN junk helps PyPI cut down on the storage requirements and keeps release history neatly\norganized.\n\n## WARNING\n\nTHIS UTILITY IS DESTRUCTIVE AND CAN POTENTIALLY WRECK YOUR PROJECT RELEASES AND MAKE THE PROJECT INACCESSIBLE ON PYPI.\n\nThis utility is provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\nimplied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY,\nor FITNESS FOR A PARTICULAR PURPOSE.\n\n## Details\n\nThe default package release version selection pattern is `r\".*dev\\d+$\"`.\n\nAuthentication with TOTP is supported.\n\nExamples:\n\n```bash\n$ pypi-cleanup --help\nusage: pypi-cleanup [-h] -u USERNAME -p PACKAGE [-t URL] [-r PATTERNS] [-n] [-y] [-v]\n\nPyPi Package Cleanup Utility\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -u USERNAME, --username USERNAME\n                        authentication username (default: None)\n  -p PACKAGE, --package PACKAGE\n                        PyPI package name (default: None)\n  -t URL, --host URL    PyPI <proto>://<host> prefix (default: https://pypi.org/)\n  -r PATTERNS, --version-regex PATTERNS\n                        regex to use to match package versions to be deleted (default: None)\n  -n, --dry-run         do not actually delete anything (default: False)\n  -y, --yes             confirm dangerous action (default: False)\n  -v, --verbose         be verbose (default: 0)\n```\n\n```bash\n$ pypi-cleanup -u arcivanov -p pybuilder\nPassword: \nAuthentication code: 123456\nINFO:root:Deleting pybuilder version 0.12.3.dev20200421010849\nINFO:root:Deleted pybuilder version 0.12.3.dev20200421010849\nINFO:root:Deleting pybuilder version 0.12.3.dev20200421010857\nINFO:root:Deleted pybuilder version 0.12.3.dev20200421010857\n```\n\n```bash\n$ pypi-cleanup -u arcivanov -p geventmp -n -r '.*\\\\.dev1$'\nPassword:\nWARNING:root:RUNNING IN DRY-RUN MODE\nINFO:root:Will use the following patterns [re.compile('.*\\\\.dev1$')] on package geventmp\nAuthentication code: 123456\nINFO:root:Deleting geventmp version 0.0.1.dev1\n```\n\n",
    "bugtrack_url": null,
    "license": "Apache License, Version 2.0",
    "summary": "PyPI Bulk Release Version Cleanup Utility",
    "version": "0.0.2",
    "split_keywords": [
        "pypi",
        "cleanup",
        "build",
        "dev",
        "tool",
        "release",
        "version"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "73f0133e62bcf5ca0c9320338647f77e",
                "sha256": "6425b0fc45ba551b21b8da42b423d48e7031fb6a8b1067827af4215fb5f77735"
            },
            "downloads": -1,
            "filename": "pypi_cleanup-0.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "73f0133e62bcf5ca0c9320338647f77e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 6266,
            "upload_time": "2020-06-30T14:54:37",
            "upload_time_iso_8601": "2020-06-30T14:54:37.781467Z",
            "url": "https://files.pythonhosted.org/packages/cd/2f/dad6b37d08b231a05fdb643f8241ee0a35f0fe31e04382fe05650fa2231d/pypi_cleanup-0.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "e56b223a4eba837ee28c4f6d6f436a65",
                "sha256": "6a05d9412a972e69c7543cc0c56362ca4d839db593a4630b4b4072e421532e37"
            },
            "downloads": -1,
            "filename": "pypi-cleanup-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "e56b223a4eba837ee28c4f6d6f436a65",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 6043,
            "upload_time": "2020-06-30T14:54:38",
            "upload_time_iso_8601": "2020-06-30T14:54:38.778581Z",
            "url": "https://files.pythonhosted.org/packages/34/9c/ac1796868b72f33a15b99026153919beb43f494bd960d8eaea4ffee2e2a2/pypi-cleanup-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2020-06-30 14:54:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": null,
    "github_project": "arcivanov",
    "error": "Could not fetch GitHub repository",
    "lcname": "pypi-cleanup"
}
        
Elapsed time: 0.11168s