Metadata-Version: 1.1
Name: devpi-cleaner
Version: 0.3.0
Summary: Enables batch removal of packages from a devpi server.
Home-page: https://github.com/blue-yonder/devpi-cleaner
Author: Matthias Bach
Author-email: matthias.bach@blue-yonder.com
License: new BSD
Description: =============
        Devpi Cleaner
        =============
        
        .. image:: https://travis-ci.org/blue-yonder/devpi-cleaner.svg?branch=master
            :alt: Build Status
            :target: https://travis-ci.org/blue-yonder/devpi-cleaner
        .. image:: https://coveralls.io/repos/blue-yonder/devpi-cleaner/badge.svg?branch=master
            :alt: Coverage Status
            :target: https://coveralls.io/r/blue-yonder/devpi-cleaner?branch=master
        .. image:: https://badge.fury.io/py/devpi-cleaner.svg
            :alt: Latest Version
            :target: https://pypi.python.org/pypi/devpi-cleaner
        .. image:: https://requires.io/github/blue-yonder/devpi-cleaner/requirements.svg?branch=master
            :alt: Requirements Status
            :target: https://requires.io/github/blue-yonder/devpi-cleaner/requirements/?branch=master
        
        
        Léon, the devpi cleaner, enables batch removal of artefacts from a `devpi server`_. Given a package and version
        specification, it will remove the specified versions of a package from either a single index or all indices of a given
        user.
        
        Rationale
        =========
        Devpi cleaner wraps the original `devpi remove` command. It provides the following extensions:
        
        * Conditionally limit removal to development packages.
        * Conditionally limit removal to versions matching a given regular expression.
        * Temporarily switch non-volatile indices to volatile.
        * Apply a remove operation to all indices of a user.
        * Throttle removal activities if the Devpi server is having difficulties keeping up.
        
        Léon by Example
        ===============
        
        The following command will delete all development packages preceding version 0.2 of ``delete_me`` on index `index1` of
        the user::
        
            > devpi-cleaner http://localhost:2414/ user/index1 'delete_me<=0.2' --dev-only
            Password:
            Packages to be deleted from user/index1:
             * delete_me 0.2.dev1 on user/index1
             * delete_me 0.2.dev2 on user/index1
            Cleaning user/index1…
            100% (2 of 2) |###########################| Elapsed Time: 0:00:00 Time: 0:00:00
            >
        
        As shown, packages will be listed and confirmation required before they are actually deleted from the server.
        
        Commandline Usage
        =================
        ::
        
            usage: devpi-cleaner [-h] [--batch] [--dev-only] [--version-filter REGEX]
                                 [--force] [--password PASSWORD] [--login LOGIN]
                                 server user[/index] package_specification
        
            A utility to batch-remove packages from a Devpi server.
        
            positional arguments:
              server                The devpi server to operate on.
              user[/index]          The index from which to remove the packages. If only
                                    the user part is specified, all indices of that user
                                    will be cleaned.
              package_specification
                                    The specification of the package version(s) to remove.
        
            optional arguments:
              -h, --help            show this help message and exit
              --batch               Assume yes on confirmation questions.
              --dev-only            Remove only development versions as specified by PEP
                                    440.
              --version-filter REGEX
                                    Remove only versions in which the given regular
                                    expression can be found.
              --force               Temporarily make indices volatile to enable package
                                    removal.
              --password PASSWORD   The password with which to authenticate.
              --login LOGIN         The user name to user for authentication. Defaults to
                                    the user of the indices to operate on.
        
            The arguments --dev-only and --version-filter can be combined. In this case
            only packages passing both filters will be removed.
        
        License
        =======
        
        `New BSD`_
        
        
        .. _devpi server: http://doc.devpi.net/latest/
        .. _New BSD: https://github.com/blue-yonder/devpi-cleaner/blob/master/COPYING
        
        
        =========
        Changelog
        =========
        
        This is the version history of `devpi_cleaner`.
        
        
        Version 0.3.0 - 2021-02-05
        ==========================
        
        Added
        -----
        
        * Throttle deletion if Devpi seems under heavy load.
        * Python 3.6 to 3.9 are now officially supported.
        
        Removed
        -------
        
        * Python 2.7, and 3.3 to 3.5 are no longer supported.
        
        
        Version 0.2.0 - 2016-04-08
        ==========================
        
        Added
        -----
        
        * Allow cleaning of single indices instead of all indices of a user. See ``--help`` for the invocation syntax.
        * Allow to limit the versions to delete via a regular expression.
        * Display a progress bar while performing the removal if multiple packages or package versions are selected.
        * Python 3.5 is now officially supported
        * PyPy is now officially supported
        
        Changed
        -------
        
        * Prompt the user for a list of package versions and the indices from which to delete them. Previously the user was
          shown a list of package URLs. However, `devpi_cleaner` will actually delete by package version, not by uploaded file.
        * Improved performance when deleting multiple package versions from non-volatile indices
        * Changelog is now maintained in the format suggested by http://keepachangelog.com/.
        
        Removed
        -------
        
        * Python 3.2 is no longer supported
        
        
        Version 0.1.1 - 2015-11-23
        ==========================
        
        Added
        -----
        
        * Add support for HTTPS.
        
        
        Version 0.1.0 - 2015-07-17
        ==========================
        
        Added
        -----
        
        * Batch removal of packages from all indices of a Devpi user
        * Allow restricting removal to development versions
        * Enable removal of packages from non-volatile indices
        * Batch mode for non-interactive operation
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: System :: Archiving :: Packaging
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Utilities
