Building a Local License Manager (LiMa) to Replace SaaS
Описание и применение
Автор разработал локальное приложение LiMa на Python для отслеживания лицензий ПО, чтобы избежать затрат на SaaS. Приложение использует SQLite для хранения данных, PyQt5 для интерфейса, plyer для системных уведомлений и Matplotlib для отчетов. Это пример того, как простые задачи можно решить самостоятельно, экономя на подписках.
Задача
High cost of SaaS Software Asset Management tools for simple license tracking needs, which essentially amount to a SQL table, date notifications, and email recaps.
Результат
A functional, zero-cost local license manager that provides real-time tracking, native notifications, and automated reporting, eliminating the need for expensive SaaS subscriptions for simple use cases.
Рабочий процесс
- Create a SQLite database with columns for software name and expiration date.
- Implement a QTimer to refresh the UI every 60 seconds, calculating 'days remaining' dynamically to avoid stale data.
- Integrate the 'plyer' library to trigger native OS notifications (Windows/macOS/Linux) based on expiration thresholds (30, 14, 7, 3, 1, 0 days).
- Use Matplotlib to generate a pie chart of expired vs. active licenses.
- Use smtplib to send an HTML email with the generated chart attached when licenses are in the red zone.
- Store SMTP credentials securely using the 'keyring' library (recommended improvement).
Доказательства
LiMa is a project I built two years ago... The point is that there are small things you can code yourself instead of paying for an annual subscription.
The table has two columns... The number of days remaining is not stored: it's derived in real time on every table refresh.
- Дата записи: 2026-09-05T13:58:27.074Z