https://github.com/blue-yonder/devpi-cleaner

Batch removal of (development) packages from devpi servers

https://github.com/blue-yonder/devpi-cleaner

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.4%) to scientific vocabulary

Keywords

devpi python

Keywords from Contributors

packaging wheel sequences distribution genomics pypi robot interactive productivity doi
Last synced: 5 months ago · JSON representation

Repository

Batch removal of (development) packages from devpi servers

Basic Info
  • Host: GitHub
  • Owner: blue-yonder
  • License: other
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 156 KB
Statistics
  • Stars: 18
  • Watchers: 12
  • Forks: 7
  • Open Issues: 3
  • Releases: 0
Topics
devpi python
Created over 10 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog License

README.rst

=============
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


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

Owner

  • Name: Blue Yonder GmbH
  • Login: blue-yonder
  • Kind: organization
  • Location: Karlsruhe, Germany

GitHub Events

Total
  • Issues event: 1
  • Delete event: 1
  • Issue comment event: 4
  • Push event: 4
  • Pull request review event: 3
  • Pull request event: 9
  • Fork event: 3
  • Create event: 3
Last Year
  • Issues event: 1
  • Delete event: 1
  • Issue comment event: 4
  • Push event: 4
  • Pull request review event: 3
  • Pull request event: 9
  • Fork event: 3
  • Create event: 3

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 191
  • Total Committers: 8
  • Avg Commits per committer: 23.875
  • Development Distribution Score (DDS): 0.356
Past Year
  • Commits: 10
  • Committers: 3
  • Avg Commits per committer: 3.333
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
Matthias Bach m****h@b****m 123
requires.io s****t@r****o 31
dependabot[bot] 4****] 21
Stephan Erb s****b@b****m 6
Matthias Bach m****x@m****g 4
pyup-bot g****t@p****o 3
snyk-bot s****t@s****o 2
Jan B****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 1
  • Total pull requests: 119
  • Average time to close issues: 8 months
  • Average time to close pull requests: 7 days
  • Total issue authors: 1
  • Total pull request authors: 4
  • Average comments per issue: 4.0
  • Average comments per pull request: 1.03
  • Merged pull requests: 33
  • Bot issues: 0
  • Bot pull requests: 22
Past Year
  • Issues: 0
  • Pull requests: 11
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 10
Top Authors
Issue Authors
  • johnnynunez (1)
  • weskerfoot (1)
Pull Request Authors
  • pyup-bot (84)
  • dependabot[bot] (32)
  • matthias-bach-by (11)
  • snyk-bot (3)
  • theMarix (2)
Top Labels
Issue Labels
Pull Request Labels
dependencies (32) python (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 161 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 4
  • Total versions: 4
  • Total maintainers: 1
pypi.org: devpi-cleaner

Enables batch removal of packages from a devpi server.

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 4
  • Downloads: 161 Last month
Rankings
Dependent repos count: 7.5%
Dependent packages count: 10.0%
Average: 13.0%
Stargazers count: 14.2%
Downloads: 16.2%
Forks count: 16.8%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.in pypi
  • devpi-plumber *
  • mock *
  • pytest *
  • pytest-cov *
  • setuptools_scm *
requirements.txt pypi
  • aiohttp ==3.8.1
  • aiosignal ==1.2.0
  • argon2-cffi ==21.3.0
  • argon2-cffi-bindings ==21.2.0
  • async-timeout ==4.0.2
  • asynctest ==0.13.0
  • attrs ==21.4.0
  • build ==0.8.0
  • certifi ==2022.5.18.1
  • cffi ==1.15.0
  • charset-normalizer ==2.0.12
  • check-manifest ==0.48
  • coverage ==6.4.1
  • defusedxml ==0.7.1
  • devpi-client ==5.2.3
  • devpi-common ==3.6.0
  • devpi-plumber ==0.6.0
  • devpi-server ==6.5.1
  • distlib ==0.3.4
  • filelock ==3.7.1
  • frozenlist ==1.3.0
  • hupper ==1.10.3
  • idna ==3.3
  • importlib-metadata ==4.11.4
  • iniconfig ==1.1.1
  • itsdangerous ==2.1.2
  • lazy ==1.4
  • mock ==4.0.3
  • multidict ==6.0.2
  • packaging ==21.3
  • passlib ==1.7.4
  • pastedeploy ==2.1.1
  • pep517 ==0.12.0
  • pkginfo ==1.8.2
  • plaster ==1.0
  • plaster-pastedeploy ==0.7
  • platformdirs ==2.5.2
  • pluggy ==1.0.0
  • progressbar2 ==4.0.0
  • py ==1.11.0
  • pycparser ==2.21
  • pyparsing ==3.0.9
  • pyramid ==2.0
  • pytest ==7.1.2
  • pytest-cov ==3.0.0
  • python-dateutil ==2.8.2
  • python-utils ==3.3.3
  • repoze-lru ==0.7
  • requests ==2.27.1
  • ruamel-yaml ==0.17.21
  • ruamel-yaml-clib ==0.2.6
  • setuptools-scm ==6.4.2
  • six ==1.16.0
  • strictyaml ==1.6.1
  • toml ==0.10.2
  • tomli ==2.0.1
  • tox ==3.25.0
  • translationstring ==1.4
  • twitter-common-contextutil ==0.3.11
  • twitter-common-dirutil ==0.3.11
  • twitter-common-lang ==0.3.11
  • typing-extensions ==4.2.0
  • urllib3 ==1.26.9
  • venusian ==3.0.0
  • virtualenv ==20.14.1
  • waitress ==2.1.2
  • webob ==1.8.7
  • yarl ==1.7.2
  • zipp ==3.8.0
  • zope-deprecation ==4.4.0
  • zope-interface ==5.4.0
setup.py pypi
  • devpi-client >=2.4.0
  • devpi-plumber >=0.2.5
  • progressbar2 *
  • setuptools >=0.8
  • six *
.github/workflows/publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/checkout v2 composite
  • actions/setup-python v4 composite
  • actions/setup-python v2 composite
core-requirements.txt pypi
  • devpi-client >=2.4.0
  • devpi-plumber >=0.2.5
  • progressbar2 *
  • setuptools >=0.8
  • six *