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 von uv.lock 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. 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.