Skip to main content

Enables batch removal of packages from a devpi server.

Project description

Devpi Cleaner

Build Status Coverage Status Latest Version Requirements Status

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

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

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

devpi-cleaner-0.3.0.tar.gz (25.7 kB view details)

Uploaded Source

Built Distribution

devpi_cleaner-0.3.0-py2.py3-none-any.whl (7.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file devpi-cleaner-0.3.0.tar.gz.

File metadata

  • Download URL: devpi-cleaner-0.3.0.tar.gz
  • Upload date:
  • Size: 25.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.1

File hashes

Hashes for devpi-cleaner-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7a9f80e2a031d536ed4c5957269136a4f704c5e60401b02de3ffae9a17fc4caa
MD5 cdfc095f928019bc5920fc6cbe80874b
BLAKE2b-256 6fd5cf5032ad76c55c09c3fe9099dfa78b18bd8d4eebab7dd5a03f6a79c415b7

See more details on using hashes here.

File details

Details for the file devpi_cleaner-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: devpi_cleaner-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.1

File hashes

Hashes for devpi_cleaner-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 946c5fb50fc9905b7bec973dca2240edeb04eef31409b193c39d785f41a0bb1a
MD5 9f1d5f862754ff79020916b7a3283bff
BLAKE2b-256 526daf884e3738175743490dde7521e0b95212a23d067b6ec920b52da63b4d70

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