Installation¶
Requirements¶
Python 3.10+ (uses modern type hints,
matchstatements, and asyncio features)Unix-like OS — Linux or macOS (uses POSIX signals, Unix sockets,
fork())No external dependencies — Supervice is pure Python stdlib
Install from Source¶
git clone https://github.com/yourusername/supervice.git
cd supervice
pip install .
This installs two command-line tools:
supervice— The daemon processsupervicectl— The control client
Development Install¶
For development with documentation dependencies:
pip install -e ".[docs]"
Verify Installation¶
supervice --help
supervicectl --help
Expected output:
usage: supervice [-h] [-c CONFIGURATION] [-n] [-l LOGFILE] [-e LOGLEVEL]
Supervice: A modern process supervisor
options:
-h, --help show this help message and exit
-c CONFIGURATION, --configuration CONFIGURATION
Configuration file path
-n, --nodaemon Run in the foreground (default: daemonize)
-l LOGFILE, --logfile LOGFILE
Log file path
-e LOGLEVEL, --loglevel LOGLEVEL
Log level
System Requirements¶
Linux¶
Supervice uses prctl(PR_SET_PDEATHSIG) on Linux to ensure child processes
are killed when the parent dies. This requires libc.so.6 to be available
(standard on all Linux distributions).
macOS¶
Fully supported. The PR_SET_PDEATHSIG feature is Linux-only and is
gracefully skipped on macOS.
Windows¶
Not supported. Supervice relies on POSIX signals, Unix domain sockets,
fork(), and setsid() which are not available on Windows.