Gedanken und Texte von Armin Ronacher
Rye und uv für Python Packaging: Der August ist die Zeit der Ernte
- Vor einigen Monaten wurde die Verwaltung des Packaging-Tools Rye an Astral übergeben.
- Das Astral-Team hat in den vergangenen Monaten viele Werkzeuge für Python Packaging entwickelt.
- In den jüngsten Releases hat uv Funktionen wie die Bearbeitung von
pyproject.toml-Dateien, Workspace-Unterstützung, lokale Paketverweise und die Installation von Skripten hinzugefügt.
- uv kann auch Python-Installationen verwalten und ist damit Rye sehr ähnlich geworden.
- Wer Rye verwendet, sollte uv im Blick behalten und Feedback geben.
Vortrag auf der EuroPython
- Auf der kürzlich in Prag abgehaltenen EuroPython wurden Ansichten zum Python Packaging und die beim Aufbau von Rye gewonnenen Erkenntnisse vorgestellt.
- Das Ziel eines Packaging-Tools ist es, das beste Werkzeug zu werden, das alle verwenden.
- Python ist dank der Investitionen und Aufmerksamkeit rund um AI und ML zu einer äußerst populären Plattform geworden.
- Es besteht der Wunsch, dass Menschen, die Python lernen, sich an eine großartige Developer Experience erinnern.
- Derzeit ist das wegen zu vieler Tools und mangelnder Konsistenz schwierig.
Die Dominanz von Tools
- Dominanz bedeutet, dass der Großteil der Investitionen in einen einzigen Stack fließt.
- Tools wie Rye sollten verschwinden, sobald sich ein dominantes Werkzeug etabliert hat.
- uv ist mit hoher Wahrscheinlichkeit dieses Werkzeug.
- Am Ende wird Rye durch uv ersetzt werden.
Entwicklung des Packaging-Ökosystems
- Viele Packaging-Tools wurden auf Grundlage der Weiterentwicklung des Python-Ökosystems aufgebaut.
- Es gab zahlreiche Fortschritte, etwa den Übergang von
setup.py-Dateien über eggs hin zu wheels sowie die Einführung von Metadatenstandards.
- Die Entwicklung von Rust crates und Python-Bibliotheken hat diese Werkzeuge möglich gemacht.
Nächste Schritte der Community
- Die Community sollte weniger Tools empfehlen.
- Es gab eine Zeit, in der
ez_setup.py und easy_install empfohlen wurden.
- Heute werden
pip, pip-tools, poetry, PDM und andere empfohlen.
- Wer wichtige Python-Projekte pflegt, sollte uv ausprobieren und überlegen, ob es empfohlen werden sollte.
VC-Finanzierung von Astral
- Es sollte darüber nachgedacht werden, welche Auswirkungen die VC-Finanzierung von Astral künftig haben wird.
- Betrachtet man den Code und die Funktionen von uv, wird die Community selbst im schlimmsten Fall besser dastehen als vor der Existenz von uv.
Zusammenfassung von GN⁺
- Dieser Text behandelt die Entwicklung von Python-Packaging-Tools und die Rolle der Community.
- uv bietet viele Funktionen und hat gute Chancen, Rye zu ersetzen.
- Die Community sollte weniger Tools empfehlen und uv ausprobieren.
- Die Auswirkungen der VC-Finanzierung von Astral auf die Zukunft sollten berücksichtigt werden.
- Werkzeuge mit ähnlichen Funktionen sind unter anderem
pip, poetry und PDM.
1 Kommentare
Hacker-News-Kommentare
Das neueste Release von uv hat den Release-Prozess von Home Assistant deutlich verkürzt
Anfangs bestand die Hoffnung, dass ein neues Tool das Python-"Packaging"-Problem lösen würde, tatsächlich geht es aber eher um Paketverwaltung
Es ist lästig, dass sich Anwendungen in Python nicht einfach als ausführbare Datei paketieren lassen
git cloneund das Erstellen einesvirtualenvEs gibt Probleme beim Python-Packaging, aber mit dem Standard-pip ist man auch schon ziemlich gut gefahren
venvWegen des npm-VC-Betrugs und der Microsoft-Übernahme sowie des rechtlich gemeinnützigen Status von OpenAI zögert man, zentrale Sprachinfrastruktur solchen Organisationen anzuvertrauen
Das Problem bei diesen Tools ist ihre Autorität
Armin argumentiert, dass
uvdiesen Bereich dominieren sollte, räumt aber ein, dass die VC-Finanzierung Probleme verursachen könnteuvsehr leicht forken lässtIm Unternehmen versucht man wegen der Langsamkeit von poetry, die Software auf uv zu migrieren
Man kann verstehen, dass manche diese Runde auslassen und auf „Python-Paketmanager: Diesmal haben wir es wirklich gelöst!“ im Jahr 2026 warten
Es gibt Menschen, die mit Leidenschaft Paketmanager entwickeln