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.