GitHub Project

subspy

SubsPy – Διαχείριση Εσόδων & Εξόδων | Income & Expense Manager (Flet/Python, Cross-platform)

subspy Screenshot

📖 Τεκμηρίωση (README)

SubsPy – Διαχείριση Εσόδων & Εξόδων

SubsPy Logo

Εφαρμογή διαχείρισης εσόδων και εξόδων, κατασκευασμένη με Python και Flet.
Τρέχει σε Windows, macOS, Linux, Raspberry Pi και Android.

Χαρακτηριστικά

  • 📋 Καταχωρήσεις — Προσθήκη, επεξεργασία και διαγραφή εσόδων/εξόδων
  • 📅 Επαναλαμβανόμενες κινήσεις — Συνδρομές, μισθοί και άλλες περιοδικές κινήσεις (π.χ. κάθε 30 ημέρες)
  • 📊 Αναφορές — Προοδευτικές χρεώσεις για οποιοδήποτε χρονικό διάστημα
  • 📄 Εξαγωγή PDF — Αναφορά σε PDF με έγχρωμη διάκριση (πράσινο = έσοδα, κόκκινο = έξοδα)
  • 🏷️ Κατηγορίες — Οργάνωση κινήσεων σε προσαρμοσμένες κατηγορίες
  • 💾 Backup/Restore — Εξαγωγή και εισαγωγή δεδομένων σε JSON
  • Οδηγίες στην εφαρμογή — Εικονίδιο βοήθειας στο επάνω μέρος με οδηγίες στα Ελληνικά και Αγγλικά
  • 🔎 Αναλογικό zoomCtrl + ρόδα ποντικιού για δυναμική μεγέθυνση/σμίκρυνση με ασφαλές όριο πλάτους
  • 🌍 Ελληνικά — Πλήρες ελληνικό UI (μενού, DatePickers, μηνύματα)
  • 🖥️ Cross-platform — Windows, macOS, Linux, Raspberry Pi, Android

Εκτέλεση Εφαρμογής (Release)

Για να εκτελέσετε την εφαρμογή, κατεβάστε το αντίστοιχο εκτελέσιμο αρχείο της έκδοσης (π.χ. subspy.exe για Windows) από τη σελίδα των Releases του αποθετηρίου και εκτελέστε το απευθείας.

Χρήση

📋 Καταχωρήσεις

  • Πατήστε «Προσθήκη» για νέα εγγραφή
  • Επιλέξτε Έσοδο ή Έξοδο από τον επιλογέα
  • Ορίστε ημερομηνία, ποσό, κατηγορία και ημέρες επανάληψης
  • Πατήστε σε μια γραμμή για επεξεργασία ή διαγραφή
  • Επανάληψη 0 = μοναδική κίνηση, 30 = μηνιαία, 365 = ετήσια

📊 Αναφορές

  1. Επιλέξτε ημερομηνίες «Από» και «Έως»
  2. Πατήστε «Δημιουργία» για υπολογισμό προοδευτικών υπόλοιπων
  3. Πατήστε «Εκτύπωση PDF» για εξαγωγή αναφοράς

🛠️ Εργαλεία

  • Εξαγωγή: Αποθηκεύει όλα τα δεδομένα σε αρχείο JSON
  • Εισαγωγή: Επαναφορά δεδομένων από αρχείο JSON
  • Κατηγορίες: Προσθήκη και διαγραφή κατηγοριών

❔ Οδηγίες και zoom

  • Πατήστε το εικονίδιο ? στο επάνω μέρος για σύντομες οδηγίες στα Ελληνικά και Αγγλικά
  • Το + Προσθήκη βρίσκεται στο επάνω control group, δίπλα στην ένδειξη zoom και στη βοήθεια
  • Κρατήστε πατημένο το Ctrl και γυρίστε τη ρόδα του ποντικιού για αναλογικό zoom. Το zoom σταματά πριν βγει εκτός οθόνης η περιοχή της στήλης «Κατηγορία».
  • Οι πίνακες Καταχωρήσεων και Αναφορών έχουν εμφανείς μπάρες κύλισης για οριζόντια και κάθετη πλοήγηση.

English Quick Notes

  • Use the top ? icon for built-in Greek/English instructions.
  • Use the green Add button in the top control group next to zoom and help.
  • Hold Ctrl and use the mouse wheel to scale the UI up or down. Zoom stops before the Category column area is pushed off screen.
  • Entries and Reports tables show scrollbars for horizontal and vertical navigation.

Αποθήκευση δεδομένων

Πλατφόρμα Βάση δεδομένων
Linux / Raspberry Pi ~/subscriptions.db
Windows Δίπλα στο αρχείο subspy.exe
macOS ~/Library/Application Support/SubsPy/subscriptions.db
Android Εσωτερικός χώρος εφαρμογής

Τεχνολογίες

  • Flet 0.80+ — Cross-platform UI framework
  • SQLite — Τοπική βάση δεδομένων
  • ReportLab — Δημιουργία PDF

Ιστορικό εκδόσεων

v4.09 — Ιούλιος 2026
– Διορθώθηκε το σφάλμα AttributeError στο padding που εμπόδιζε την εκτέλεση του μεταγλωττισμένου αρχείου.
– Εξαιρέθηκε τοπικά ο φάκελος .agents από το Git repository.
– Καθαρίστηκε το README.md από οδηγίες ανάπτυξης και μεταγλώττισης.

v4.08 — Ιούνιος 2026
– Αντικαταστάθηκε το transform-based zoom με πραγματικές διαστάσεις DataTable, ώστε οι μπάρες κύλισης να υπολογίζουν σωστά το πλήρες ύψος του grid.
– Οι πίνακες Καταχωρήσεων και Αναφορών κάνουν zoom σε ύψη γραμμών, headers, αποστάσεις στηλών, κείμενα και εικονίδια χωρίς να κόβονται οι κάτω γραμμές.

v4.07 — Ιούνιος 2026
– Διορθώθηκε το κόψιμο του grid δεξιά κατά το zoom, αφαιρώντας τη λανθασμένη προσαρμογή λογικού πλάτους
– Το zoom layout προσαρμόζει πλέον μόνο το ύψος για κάθετη κύλιση, χωρίς να στενεύει τον πίνακα

v4.06 — Ιούνιος 2026
– Διορθώθηκε το κάθετο scroll σε zoomed προβολή ώστε να μην κόβονται οι τελευταίες γραμμές κάτω από την κάτω μπάρα
– Το zoomed περιεχόμενο τοποθετείται πλέον σε clipped layout slot με ύψος προσαρμοσμένο στο τρέχον zoom

v4.05 — Ιούνιος 2026
– Προστέθηκαν εμφανείς μπάρες κύλισης στους πίνακες Καταχωρήσεων και Αναφορών
– Οι πίνακες τυλίγονται πλέον σε οριζόντιο και κάθετο scroll container

v4.04 — Ιούνιος 2026
– Μεταφέρθηκε το + Προσθήκη στο επάνω control group δίπλα στο zoom και τη βοήθεια, με πράσινο χρώμα
– Αυξήθηκε το δυναμικό όριο zoom ώστε η στήλη «Κατηγορία» να μπορεί να φτάνει πολύ πιο κοντά στο δεξί άκρο

v4.03 — Ιούνιος 2026
– Μετακινήθηκε η ένδειξη zoom και το εικονίδιο οδηγιών πιο κοντά στο πλάτος του πίνακα, αντί για το δεξί άκρο της οθόνης
– Προστέθηκε ασφαλές όριο zoom βάσει πλάτους παραθύρου ώστε η στήλη «Κατηγορία» να παραμένει ορατή

v4.02 — Ιούνιος 2026
– Προστέθηκε επάνω εικονίδιο οδηγιών με περιεχόμενο στα Ελληνικά και Αγγλικά
– Προστέθηκε αναλογικό zoom όλου του UI με Ctrl + ρόδα ποντικιού
– Ευθυγραμμίστηκε η έκδοση σε pyproject.toml και src/version.py
– Προστέθηκε τρέχον main.spec για PyInstaller build

v4.01 — Μάρτιος 2026
– Διορθώσεις στην απεικόνιση του νέου εικονιδίου μέσα στην ίδια την εφαρμογή και στο README

v4.00 — Μάρτιος 2026
– Προοδευτικά υπόλοιπα (Running balances) στις αναφορές και στα PDF
– Επαναλαμβανόμενες κινήσεις “Κάθε μήνα” εκτός από υπολογισμό ημερών
– Φορητή βάση δεδομένων subscriptions.db (στα Windows, πλέον δίπλα στο .exe)
– Νέο εικονίδιο εφαρμογής
– Layout & Bug fixes

v2.0 — Φεβρουάριος 2026
– Διαχείριση εσόδων και εξόδων (αντί μόνο συνδρομών)
– Cross-platform υποστήριξη (Windows, macOS, Linux, Android, Raspberry Pi)
– Ελληνικά DatePickers
– Εξαγωγή PDF με έγχρωμη διάκριση εσόδων/εξόδων
– Διαχείριση κατηγοριών
– Εισαγωγή/Εξαγωγή δεδομένων σε JSON

v1.0 — Δεκέμβριος 2025
– Αρχική έκδοση — διαχείριση συνδρομών
– Voice assistant integration
– Raspberry Pi only

Άδεια

MIT License

Συγγραφέας

SpyAlekosspyalekos@gmail.com

🇬🇧 English Documentation

SubsPy – Income & Expense Management

SubsPy Logo

An income and expense management application built with Python and Flet.
Runs on Windows, macOS, Linux, Raspberry Pi, and Android.

Features

  • 📋 Entries — Add, edit, and delete income/expenses
  • 📅 Recurring transactions — Subscriptions, salaries, and other periodic transactions (e.g., every 30 days)
  • 📊 Reports — Running balances for any selected time period
  • 📄 PDF Export — Report export in PDF format with color differentiation (green = income, red = expenses)
  • 🏷️ Categories — Organize transactions into custom categories
  • 💾 Backup/Restore — Export and import data in JSON format
  • In-App Instructions — Help icon at the top with instructions in Greek and English
  • 🔎 Analog zoomCtrl + mouse wheel for dynamic zoom in/out with safe width limit
  • 🌍 Bilingual — UI support for both Greek and English
  • 🖥️ Cross-platform — Windows, macOS, Linux, Raspberry Pi, Android

Application Execution (Release)

To run the application, download the corresponding release executable (e.g., subspy.exe for Windows) from the repository’s Releases page and run it directly.

Usage

📋 Entries

  • Press “Add” to create a new entry
  • Select Income or Expense from the picker
  • Set the date, amount, category, and recurrence days
  • Click on any row to edit or delete the entry
  • Recurrence 0 = single transaction, 30 = monthly, 365 = annual

📊 Reports

  1. Select “From” and “To” dates
  2. Press “Generate” to calculate running balances
  3. Press “Print PDF” to export the report

🛠️ Tools

  • Export: Saves all data to a JSON file
  • Import: Restores data from a JSON file
  • Categories: Add and delete categories

❔ Instructions and Zoom

  • Press the ? icon at the top for brief instructions in Greek and English
  • The green Add button is located in the top control group next to zoom and help
  • Hold Ctrl and spin the mouse wheel for analog zoom. Zoom stops before the “Category” column is pushed off-screen
  • Both Entries and Reports tables feature scrollbars for horizontal and vertical navigation

Data Storage

Platform Database Location
Linux / Raspberry Pi ~/subscriptions.db
Windows Next to the subspy.exe file
macOS ~/Library/Application Support/SubsPy/subscriptions.db
Android Application internal storage

Technologies

  • Flet 0.80+ — Cross-platform UI framework
  • SQLite — Local database
  • ReportLab — PDF generation

Version History

v4.09 — July 2026
– Fixed the padding AttributeError that prevented the compiled executable from running.
– Locally excluded the .agents folder from the Git repository.
– Cleaned README.md of development and compilation instructions.

v4.08 — June 2026
– Replaced transform-based zoom with actual DataTable sizing so that scrollbars correctly calculate grid height.
– Entries and Reports tables zoom row heights, headers, column spacing, texts, and icons without cutting off bottom rows.

v4.07 — June 2026
– Fixed table cutting off on the right when zooming by removing logical width adjustments.
– Zoom layout now only adjusts height for vertical scroll without narrowing the table.

v4.06 — June 2026
– Fixed vertical scroll in zoomed view to prevent cutting off bottom rows under the scroll bar.
– Zoomed content is now placed in a clipped layout slot with height adjusted to current zoom.

v4.05 — June 2026
– Added visible scrollbars to Entries and Reports tables.
– Tables are now wrapped in horizontal and vertical scroll containers.

v4.04 — June 2026
– Moved the green Add button to the top control group next to zoom and help.
– Increased dynamic zoom limit so the “Category” column can get closer to the right edge.

v4.03 — June 2026
– Moved the zoom indicator and instructions icon closer to the table width instead of the right edge of the screen.
– Added safe zoom limit based on window width to keep the “Category” column visible.

v4.02 — June 2026
– Added top instructions icon with Greek and English content.
– Added analog zoom for the entire UI using Ctrl + mouse wheel.
– Synced version in pyproject.toml and src/version.py.
– Added current main.spec for PyInstaller build.

v4.01 — March 2026
– UI fixes for the new icon inside the app and in the README.

v4.00 — March 2026
– Running balances in reports and PDFs.
– Recurring transactions “Every month” in addition to day intervals.
– Portable database subscriptions.db (next to .exe on Windows).
– New application icon.
– Layout & Bug fixes.

v2.0 — February 2026
– Income and expense management (instead of only subscriptions).
– Cross-platform support (Windows, macOS, Linux, Android, Raspberry Pi).
– Greek DatePickers.
– PDF export with color-coded income/expenses.
– Category management.
– Data export/import in JSON.

v1.0 — December 2025
– Initial release — subscription management.
– Voice assistant integration.
– Raspberry Pi only.

License

MIT License

Author

SpyAlekosspyalekos@gmail.com

📂 Δομή Κώδικα & Αρχείων

📄 .gitignore
📄 README.md
📄 english.md
📄 main.spec
📄 pyproject.toml
📁 src
  📁 assets
    📄 Gemini_Generated_Image_uuzz70uuzz70uuzz.png
    📄 icon.ico
    📄 icon.png
    📄 icon_new.png
    📄 splash_android.png
  📄 database.py
  📄 main.py
  📄 pdf_export.py
  📄 platform_utils.py
  📄 subscriptions.db
  📄 version.py
📄 subscriptions.db

🚀 Εκδόσεις & Releases

🏷️ v4.09
Published: 06 Jul 2026, 19:08

Initial release (v4.09)

Assets: