Pythonaire is a lightweight command-line personal finance tracker built with Python and SQLite. It allows you to manage categories, accounts, and transactions while keeping your account balances updated automatically.
- 📂 Create and list categories (e.g., Debit, Credit, Savings)
- 💼 Add and list accounts linked to categories
- 💸 Record income and expenses as transactions
- 🔄 Automatically update account balances based on transactions
- 🗂 Structured with OOP for extendability and clarity
- Python 3.7+
- SQLite (built-in with Python via
sqlite3)
Clone the repository and run the script:
git clone https://github.com/yourusername/pythonaire.git
cd pythonaire
pip3 install .You can also install the PyPi build via pip:
pip3 install pythonaire- Debit
- Credit
- Savings
- BBVA (Debit)
- Amex (Credit)
- Monzo (Debit)
- Income and expenses on the above accounts
python3 main.pyThe application follows an object-oriented approach with the following classes:
DB: Handles database connection and schema creationBaseModel: Abstract class for common add/list methodsCategory: Manages financial categoriesAccount: Manages bank accounts and links to categoriesTransaction: Manages income/expense transactions and updates balances
This project is designed to be modular. It can be extended by:
- Adding a GUI or web interface
- Exporting reports to PDF or CSV
|
oliverrdz |