Settore: Automazione IT · Progetto personale
Monitoraggio automatico di 76 pacchetti software
Sistema Python che monitora il ciclo di vita di 76 pacchetti software: stato centralizzato su Google Sheets e notifiche Telegram automatiche a ogni nuova release.
- 76
- Pacchetti
- < 1 ora
- Notifica
- 0
- Controlli manuali
Contesto
Chi gestisce infrastrutture deve sapere quando escono nuove versioni dei software in uso: patch di sicurezza, breaking change, fine del supporto. Controllare a mano 76 pacchetti è impraticabile — il risultato tipico è che gli aggiornamenti si scoprono in ritardo, o non si scoprono affatto.
Cosa fa
- Un core Python interroga ogni ora le fonti di versione di ogni pacchetto (pagine di release, registri, API dedicate) con esecuzione schedulata.
- Lo stato di tutti i pacchetti è centralizzato su Google Sheets via API: un cruscotto leggibile anche da chi non è tecnico, senza dover costruire una web app.
- Al rilascio di una nuova versione parte una notifica Telegram entro un’ora, con nome del pacchetto, versione precedente e nuova.
Sfide tecniche
Eterogeneità delle fonti. 76 pacchetti significano decine di formati diversi: chi pubblica su GitHub Releases, chi su un changelog HTML, chi su un registro con API. Ogni fonte richiede un parsing robusto, e il confronto tra versioni deve gestire schemi di versioning non uniformi (semver, date, build number).
Idempotenza delle notifiche. Il sistema deve notificare una sola volta per rilascio, anche se viene rieseguito o riavviato: lo stato persistito tra le esecuzioni è ciò che distingue un tool affidabile da uno che spamma o tace.
Stack
Python · Google Sheets API · Bot API Telegram · esecuzione schedulata (cron)
Esito
Il sistema gira in autonomia: nessun controllo manuale, nessun aggiornamento perso. È un esempio concreto di come una piccola automazione ben progettata elimini un’attività ripetitiva intera.