Wer einen größeren Devpi-Server betreibt kommt immer wieder mal in die Situation Pakete von diesem löschen zu müssen. Für einzelne Pakete lässt sich dies mit dem normalen Devpi-Client noch leidlich komfortabel lösen, aber schon nichtvolatile Indices machen daraus ein aufwendiges Unterfangen mit mehreren manuellen Schritten, bei dem leicht Fehler unterlaufen. Um diese Problem zu lösen gibt es Léon, den Devpi-Cleaner, der es beispielsweise ermöglichte alle alten Enwicklungsversionen zu entfernen oder den Index nur für die Dauer der Löschoperation volatil zu schalten.
Die Notwendigkeit auf dem Devpi aufzuräumen ergibt sich nicht nur, wenn mal ein Paket falsch hochgeladen wurde. Auch Änderungen der Indexstruktur können eine Aufräumaktion sinnvoll machen. Und wer Continuous Integration ernst nimmt und zu jedem erfolgreichen Build ein Paket hochlädt, dem blähen alte, nicht mehr benötigte Entwicklungsversionen die Backupgröße, und damit auch die Erstellungsdauer auf.
Bei meinem Arbeitgeber Blue Yonder ist es glücklicherweise gerne gesehen allgemein nutzbare Software als Open Source zu veröffentlichen. So konnte ich letzte Woche Version 0.2.0 von Léon, dem Devpi-Cleaner veröffentlichen. Nicht nur sind jetzt komplexere Auswahlkriterien möglich, sondern das Löschen geht jetzt auch deutlich schneller und dank Fortschrittsbalken mit Restzeitabschätzung hat man eine Chance seine Kaffeepausen zeitoptimiert einzulegen. Eine komplette Liste der Änderungen findet sich im Changelog.