hetzbot-python

Install uv and provision isolated per-service Python virtual environments.

Updated Apr 17, 2026
One-click install
npx skills add https://github.com/tomspiegl/hetzbot --skill hetzbot-python
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hetzbot-python
Source: https://github.com/tomspiegl/hetzbot/tree/main/skills/runtimes/python
Command: npx skills add https://github.com/tomspiegl/hetzbot --skill hetzbot-python

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Install uv (Astral's Python package manager) with safe defaults to provide per-service Python environments managed by uv, avoiding the host's system Python and ensuring idempotent deployments.

Core Features & Use Cases

  • Per-service Python environments: each service gets an isolated venv managed by uv.
  • Lockfile-first workflows: uv.lock ensures deterministic installs and hash verification.
  • Safe, fast installs: wheels preferred over sdists and build isolation minimize risk; per-service environments stay isolated from the host.
  • Security-conscious upgrades: uv self-updates are avoided in production; upgrades occur via this skill's install.sh to maintain control.

Quick Start

Run the host installer to install uv and prepare per-service Python environments.

Frequently Asked Questions about hetzbot-python

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I install uv for per-service Python virtual environments?▼

Installing uv for per-service Python environments requires running the host installer script, which provisions isolated virtual environments under /srv/<svc>/repo/.venv for each service. This avoids using the host system Python and ensures idempotent deployments.

What is a lockfile-first Python deployment workflow?▼

A lockfile-first Python deployment uses uv.lock to ensure deterministic installs and hash verification. When pyproject.toml exists in a service repo under /srv, the lockfile governs exact Python versions and dependencies for safe, reproducible provisioning.

Does uv work with existing requirements.txt files?▼

Yes, uv works with existing requirements.txt files as optional inputs. The Skill handles pyproject.toml, uv.lock, and optional requirements.txt together to govern Python versions and dependencies during per-service virtual environment provisioning.

Why should I avoid uv self-updates in production?▼

Avoiding uv self-updates in production maintains version control and security. Upgrades occur via the Skill's install.sh script instead, ensuring controlled, idempotent provisioning of per-service Python environments across the host.

What is the best way to isolate Python dependencies per service?▼

The best way to isolate Python dependencies per service is using uv-managed virtual environments located under /srv/<svc>/repo/.venv. This isolates each service from the host system Python and other services for safe, deterministic deployments.

Can I use uv to provision Python runtimes across multiple service repos?▼

Yes, you can use uv to provision Python runtimes across multiple service repos under /srv on a host. The Skill automates hosting-wide provisioning, creating isolated virtual environments for each service based on their pyproject.toml and uv.lock files.