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. 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.