██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╔══██╗██╔═══██╗██╔════╝ ██╔══██╗██╔═══██╗██╔═══██╗██╔══██╗ ██║ ██║██║ ██║██║ ███╗ ██████╔╝██║ ██║██║ ██║██████╔╝ ██║ ██║██║ ██║██║ ██║ ██╔═══╝ ██║ ██║██║ ██║██╔═══╝ ██████╔╝╚██████╔╝╚██████╔╝ ██║ ╚██████╔╝╚██████╔╝██║ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ████████╗██████╗ █████╗ ██████╗██╗ ██╗███████╗██████╗ ╚══██╔══╝██╔══██╗██╔══██╗██╔════╝██║ ██╔╝██╔════╝██╔══██╗ ██║ ██████╔╝███████║██║ █████╔╝ █████╗ ██████╔╝ ██║ ██╔══██╗██╔══██║██║ ██╔═██╗ ██╔══╝ ██╔══██╗ ██║ ██║ ██║██║ ██║╚██████╗██║ ██╗███████╗██║ ██║ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
Because every service drops a deuce eventually.
Monitor HTTP endpoints with configurable intervals, methods, headers, and expected status codes. GET, POST, whatever your dog needs.
Results mapped to a brilliant consistency scale. Solid (healthy), Normal (ok), Soft (degraded), Liquid (down). You'll never unsee it.
Real-time monitoring dashboard in your terminal. Auto-refreshes at each dog's interval. Alerts when services go down or recover.
Track uptime percentages, latency trends, consistency breakdowns. Full check history with filtering by service and time window.
Pure Python. SQLite for storage. No cloud, no accounts, no BS. Your data stays local in ~/.dpt/poop.db. *well, a few pip packages
Rich terminal UI with colored tables, gradient ASCII art, and status indicators. Looks as good as it is functional.
Register endpoints to monitor. Set the URL, expected status, timeout, and check interval. Each service is a "dog" in your pack.
Run health checks on all your services at once. Each check is classified into the poop consistency scale with color-coded results.
Start the live monitoring daemon. It continuously checks all services at their configured intervals and alerts you when something changes.
| Poop Term | What It Actually Means |
|---|---|
| Dog | A service or endpoint you're monitoring |
| Poop | A health check result |
| Solid | Fast response, correct status code — all good |
| Normal | Correct but slower than ideal |
| Soft | Wrong status code, high latency, 4xx errors |
| Liquid | Down. 5xx, timeout, connection refused |
| Walk the dog | Run a health check |
| Blood | Server errors (5xx) or connection refused |
| Mucus | Warnings — slow but working, redirects |
Install globally from PyPI.
$ pip install dog-poop-tracker $ poop
Clone and install in development mode.
$ git clone https://github.com/dogpooptracker/dogpooptracker $ cd dog-poop-tracker $ pip install -e .
poopShow the splash screen with stats overviewpoop add <name> <url>Add a service to monitor. Options: --method, --expected-status, --timeout, --interval, --headerpoop remove <name>Remove a service and all its check historypoop listList all registered services with their configpoop check [name]Run health checks. Specify a name or check all enabled servicespoop statusQuick overview table of all services and their last checkpoop history [name]Show recent check history. Options: --limit, --hourspoop watchStart live monitoring mode. Auto-checks at each service's interval. Ctrl+C to stoppoop stats [name]Show uptime %, latency stats, and consistency breakdown. Options: --hourspoop toggle <name>Enable or disable a service. Disabled services are skipped during checks