- Als Ersatz für
pre-commit entwickelt, um Geschwindigkeit und Effizienz bei der Verwaltung von Git Hooks zu erhöhen, bei gleichzeitiger Beibehaltung der bestehenden Konfigurations- und Hook-Kompatibilität
- Wird als einzelne ausführbare Datei auf Rust-Basis bereitgestellt und verkürzt durch eine parallele Verarbeitungsstruktur die Zeiten für Hook-Installation und -Ausführung
- Bereits in wichtigen Projekten wie CPython, Apache Airflow, FastAPI und Home Assistant im Einsatz
- Unterstützt die integrierte Verwaltung mehrsprachiger Toolchains wie Python, Node.js, Go, Rust und Ruby
uv-Integration beschleunigt die Erstellung virtueller Python-Umgebungen und die Installation von Abhängigkeiten
- Workspace- (Monorepo-) Umgebungen werden standardmäßig unterstützt, mit konfigurierbaren Einstellungen für jedes Teilprojekt
- Bietet verbesserte CLI-Befehle wie
prek run, prek list, prek auto-update
- Mit den Optionen
--directory und --last-commit können nur bestimmte Verzeichnisse oder die neuesten Commits geprüft werden
- Die Option
--cooldown-days bietet eine Funktion zur Abmilderung von Supply-Chain-Angriffen
- Einige gängige Hooks sind nativ in Rust integriert und unterstützen die Ausführung offline und ohne Konfiguration
- MIT-Lizenz
- Inspiriert vom
uv-Projekt von Astral
5 Kommentare
Ich habe eine Frage an die Entwickler hier: Warum werden in letzter Zeit die meisten Projekte eher in Rust als in Golang entwickelt? Ist der größte Grund das Vorhandensein bzw. Fehlen von GC?
Bei diesem Projekt dürfte die GC kaum in einem problematischen Ausmaß zum Thema werden. Ich denke, dass bei „den meisten Projekten in letzter Zeit“ die Wahl einer Programmiersprache in vielen Fällen eher eine Frage des Geschmacks ist als eine, die tatsächlich auf den Stärken oder Grenzen einer bestimmten Sprache beruht. Wenn man mich dennoch fragt, worin Rust als Allzweck-Programmiersprache gegenüber Go einen komparativen Vorteil hat, würde ich wohl antworten, dass Rust ein höheres Abstraktionsniveau bietet und viele Fehler bereits zur Compile-Zeit erkennen kann. Natürlich hat auch Go gegenüber Rust Vorteile, etwa einfache asynchrone Programmierung, schnelle Compile-Zeiten und eine knappe Syntax.
Nun ja, das ist zwar nur eine Vermutung, aber ich denke, es liegt daran, dass die Einstiegshürde für Rust verschwunden ist.
Die größte Schwierigkeit ist, dass man etwas programmiert und die Kompilierung dann ständig fehlschlägt – aber das übernimmt jetzt die KI.
Bei Rust werden viele Fehler schon beim Kompilieren erkannt, sodass sich ein fehlgeschlagener Build eher so anfühlt, als würde er der AI helfen, auf den richtigen Weg zu kommen.
Das fand ich ziemlich gut.