Diffs, not noise
The output names the version, status or field that changed, so the first question — what happened? — is already answered.
Add it once. Sentinel watches it. Know when it changes.
A dependency-free Python CLI that monitors the things developers depend on — and explains exactly what changed.
0
Third-party dependencies
5 types
GitHub, HTTP, API, PyPI, npm
SQLite
Durable change history
CI-ready
JSON output + exit codes
Sentinel exists so a developer does not have to poll a dozen pages to know whether a dependency, release or endpoint changed. It watches the things a project depends on, records what it saw, and reports the difference in a form a human or CI can act on — with nothing to install beyond Python.
The output names the version, status or field that changed, so the first question — what happened? — is already answered.
Every observation lands in SQLite. History and uptime are queries over evidence, not a stream of alerts nobody reads.
Zero dependencies and JSON/exit-code output mean the same tool works on a laptop, a server and a locked-down CI image.
The decisions, trade-offs, and details that make Sentinel worth your time.
Explains what changed, not just that it changed — releases, JSON fields, HTTP status, commits
Zero dependencies: Python 3.11+, pip install and go
Durable SQLite history with uptime statistics, watch mode and machine-readable output
Ships with a safety-first updater that verifies checksums before touching anything
Checking releases, endpoints and version fields by hand is tedious and forgettable. Sentinel turns it into a repeatable, inspectable routine — and keeps a durable history so you know when something changed, not just that it did.
Watch microsoft/vscode for releases, python/cpython for commits, or any repository for new tags. Repositories are verified to exist when added.
Track a page for changes or drill into a JSON endpoint with a jpath such as $.version or $.stargazers_count, with custom headers and environment-variable secrets.
Know the moment a dependency ships a new release — with human names for the sources you care about most.
Sentinel reports what changed: a version going 1.102.0 → 1.103.0, an endpoint going HTTP 200 → HTTP 404, or a JSON field moving between values.
Every observation is stored in SQLite. sentinel history shows a source's timeline; sentinel uptime turns checks into uptime statistics.
Run sentinel watch --interval 10m to check repeatedly and print changes as they happen. Ctrl-C stops cleanly and the interval is configurable.
sentinel check --json emits machine-readable output. Exit codes mean something: 0 = no changes, 1 = changes detected, 2 = a source failed.
Monitoring is passive; updating is explicit and potentially destructive. The two are kept strictly separate. sentinel upgrade downloads verified release assets — checksum-checked — into <install-path>/<version>/.
Interactive add, non-interactive one-liners, show, status, list, config — a complete CLI surface with no setup ceremony.
Sentinel is deliberately boring where it matters: install it, point it at the things you depend on, and let it speak only when something changes.
pip install . — Python 3.11+ and nothing else. No virtualenv gymnastics required.
sentinel add github microsoft/vscode --monitor release, sentinel add pypi requests, sentinel add api https://api.example.com/version --jpath '$.version'. Interactive or one-line.
Run sentinel check in a cron job or CI pipeline, or sentinel watch --interval 10m while you work.
When you're ready, sentinel upgrade fetches verified assets into a versioned folder. Nothing is replaced behind your back.
sentinel add Add a source (github | http | api | pypi | npm) sentinel check Check now — prints diffs, stores history, sets exit code sentinel watch Check repeatedly, stream changes as they happen sentinel history A source's observation timeline sentinel uptime Uptime statistics from the checks log sentinel status Sources, current values, health sentinel show Full detail of one source sentinel upgrade Verified, checksum-checked software updates (dry-run safe)
Deliberately dependency-free so it can run anywhere Python runs — including CI images you don't control.
Licensed under MIT.
Sentinel is MIT-licensed and developed in public. Feedback, issues, and contributions are genuinely welcome.