uv¶
uv ist ein extrem schneller Python-Paket- und Projektmanager.
Sowohl die Installation von uv wie auch das Erstellen der Dateistrukturen für Bibliotheken oder Apps sind bereits in unserem Python Basics-Tutorial beschrieben.
Inline script metadata¶
uv ist jedoch auch hervorragend geeignet für einzelne Python-Skripte, die
Inline script metadata
enthalten, also z.B.:
#!/usr/bin/env -S uv run
# /// script
# requires-python = ">=3.12"
# dependencies = [
# "rich",
# ]
# ///
import rich
Sofern die Berechtigungen für die Datei app.py ausführbar sind, also
z.B. mit chmod 755, könnt ihr sie auf jedem Rechner
mit installiertem uv ausführen:
./app.py
Es wird automatisch eine eigene isolierte Umgebung erstellt mit korrekter Python-Version und Abhängigkeiten.
Pakete erstellen¶
Mit uv build könnt ihr einfach Distribution Packages und Wheels erstellen.
Abhängigkeiten deklarieren, festschreiben und automatisch aktualisieren¶
In Aktualisieren der Python-Umgebung ist beschrieben, wie ihr mit uv lock --upgrade alle
Abhängigkeiten und mit uv lock --upgrade-package PACKAGE==VERSION
einzelne Abhängigkeiten kontrolliert aktualisieren könnt.
In Claude Code oder Cursor für uv konfigurieren ist beschreiben, wie ihr eine Konfiguration erstellen könnt, sodass auch Claude Code oder Cursor zuverlässig uv verwenden.
Wie ihr regelmäßig automatisiert die Abhängigkeiten eures Projekts aktualisieren könnt, beschreiben wir in Dependency-Bot. Diese Maßnahmen erhöhen die Sicherheit eures Projekts erheblich.
Testen in verschiedenen Python-Umgebungen¶
Mit uv vereinfacht sich die parallele Installation verschiedener Python-Versionen, einschließlich PyPy und free-threaded Python 3.13. Mit tox-uv könnt ihr euer Projekt dann automatisiert in den verschiedenen Python-Umgebungen testen.