Pypen: A Multi-Process Python Runner¶
Pypen is a single-container, multi-process runner for
Python repositories. Point it at any GitHub (or other Git) repository —
or many of them — in one project.toml file, and Pypen
clones, builds, runs, watches and restarts each one in its own isolated
Python environment, with a live web dashboard on top.
It shares some of the same goals as programs like
supervisord,
systemd user units, and pm2. Unlike most of those, Pypen
is purpose-built for Python: each project gets its own
pyenv-managed interpreter, its own virtual environment built
by uv, its own environment variables, and its own restart
schedule. If it runs with python something.py (or any shell
command), Pypen can host it.
At a glance
- One container, many Python workers
- Per-project Python version & venv (
pyenv+uv) - Process supervision via
s6-overlay - Live web dashboard built on Quart + Socket.IO
- Cron-style restarts, idle restarts, optional
git pullon restart - Optional keep-alive ping for free-tier hosts