Sector: IT automation · Personal project
Automatic monitoring of 76 software packages
Python system that tracks the lifecycle of 76 software packages: centralized status on Google Sheets and automatic Telegram notifications on every new release.
- 76
- Packages
- < 1 hour
- Notification
- 0
- Manual checks
Context
Anyone managing infrastructure needs to know when new versions of the software in use come out: security patches, breaking changes, end of support. Manually checking 76 packages is impractical — the typical outcome is that updates are discovered late, or not at all.
What it does
- A Python core queries each package’s version sources (release pages, registries, dedicated APIs) every hour on a scheduled run.
- The status of all packages is centralized on Google Sheets via API: a dashboard readable even by non-technical people, without having to build a web app.
- When a new version ships, a Telegram notification goes out within the hour, with the package name, previous version and new one.
Technical challenges
Heterogeneous sources. 76 packages mean dozens of different formats: some publish on GitHub Releases, some on an HTML changelog, some on a registry with an API. Each source needs robust parsing, and version comparison has to handle non-uniform versioning schemes (semver, dates, build numbers).
Notification idempotency. The system must notify exactly once per release, even if it gets re-run or restarted: the state persisted between runs is what separates a reliable tool from one that spams or stays silent.
Stack
Python · Google Sheets API · Telegram Bot API · scheduled execution (cron)
Outcome
The system runs on its own: no manual checks, no missed updates. It’s a concrete example of how a small, well-designed automation eliminates an entire repetitive task.