Panamaram Personal Finance Expense Tracker
Project description
Panamaram - Personal Finance Expense Tracker
Panamaram is a secure, offline personal finance app designed to help you effortlessly manage expenses, income, bills, and budgets. Track your daily spending, set reminders for recurring payments, and get smart insights with visual dashboards and exportable reports. With strong password protection and advanced encryption, your financial data stays private and protected. Enjoy a clean, modern interface with dark mode, multi-currency support, and a smooth user experience—no internet required.
🌟 Features
-
Expense & Income Tracking:
Add, view, edit, and delete transactions, with category, notes, and support for recurring entries. -
Bill/Reminder System:
Manage recurring and one-time bills, with overdue highlighting. -
Home Dashboard:
Instant stats and smart charts of your budget, balance, and spending patterns. -
Multi-format Reports:
Export reports as PDF, Excel (XLSX), and CSV. -
Data Security:
- Strong password protection
- Database encryption (AES)
- Encrypted backup and restore with user password validation
- All sensitive info kept private
-
User Experience:
- Modular, responsive UI with dark mode-ready design
- One-click currency switching
- Helpful error and warning dialogs
- Easily installable and self-contained
🌳 Panamaram – The Money Tree of Personal Finance
The name "Panamaram" is a creative compound word derived from Tamil:
- பணம் (Paṇam) – Money
- மரம் (Maram) – Tree
📝 Word Formation in Tamil
பணம் + மரம் = பணமரம் (Panamaram)
Literally translates to “Money Tree”
🌿 Meaning & Symbolism
- மரம் (Maram) – Symbolizes growth, stability, and life
- பணம் (Paṇam) – Represents wealth, income, and financial resources
💡 Why Panamaram?
- 🌱 A tree of wealth – like your finances growing steadily over time
- 🌼 A source or tracker that helps your money flourish
- 🧠 A personal finance tool that nurtures and manages your expenses and income wisely — just like watering a tree for steady growth
Panamaram isn't just a name — it's a philosophy of growing your money the natural way.
🗂️ Project Structure
Panamaram/
│
├── assets/
│ ├── icon.png
│ ├── icon.ico
│ └── ... # All static/icons/images
│
├── auth/
│ └── auth.py
│
├── db/
│ ├── expense_manager.py
│ ├── income_manager.py
│ ├── recurring_income_manager.py
│ ├── recurring_manager.py
│ ├── bill_manager.py
│ └── db_manager.py
│
├── worker/
│ └── worker_unlock
│
├── utils/
│ ├── path_utils.py
│ ├── key_manager.py
│ ├── secure_field_utils.py
│ ├── secure_file_utils.py
│ └── smart_suggestions.py
│
├── ui/
│ ├── main_window.py
│ ├── dashboard.py
│ ├── expense_table.py
│ ├── income_table.py
│ ├── expense_form.py
│ ├── income_form.py
│ ├── currency_chooser.py
│ ├── bill_form.py
│ ├── bill_table.py
│ ├── reports.py
│ └── ... # Any extra UI component modules
│
├── main.py
├── requirements.txt
🖥️ How to Set Up (Windows 11 Guide)
1. Install Python 3.13.3
- Download the official installer:
Python 3.13.3 Windows 64-bit - During install:
- Check “Add Python to PATH”.
- Choose “Customize installation”.
- Complete the wizard.
- Verify:
python --version
- Output: Python 3.13.3
2. Create Your Project Directory
- Open your terminal or command prompt and run:
mkdir Panamaram
cd Panamaram
3. Create and Activate a Virtual Environment
- Create virtual environment
python -m venv venv
- Activate (on Windows)
venv\Scripts\activate
- If successful, your terminal will show: (venv)
4. Install Required Packages
pip install PySide6
pip install appdirs pyAesCrypt cryptography
pip install matplotlib
pip install fpdf2
pip install openpyxl
- (Optional) Save package versions for later with:
pip freeze > requirements.txt
- To install all at once in the future:
pip install -r requirements.txt
5. Set Up VS Code for Development
- Open the
Panamaram/folder in VS Code. - Press
Ctrl + Shift + P, typePython: Select Interpreter, and select./venv/Scripts/python.exe. - (If prompted, install the Python extension)
6. Useful Commands
| Command | Use |
|---|---|
venv\Scripts\activate |
Activate venv |
deactivate |
Deactivate venv |
pip install -r requirements.txt |
Install all dependencies |
🚀 Quick Start
- Clone/download this repository.
- Follow the steps above to set up the environment and install dependencies.
- Run the app: python main.py
📦 Packaging/Distribution
- For packaging (e.g., .exe), consider tools like
PyInstaller. - For a Windows installer, look at NSIS or Inno Setup.
- (Request sample scripts or guidance if needed!)
📦 Packaging the Application with PyInstaller
Follow these steps to package Panamaram into a standalone executable for Windows.
1️⃣ Install PyInstaller
First, activate your virtual environment (if not already active):
venv\Scripts\activate
Then install PyInstaller:
pip install pyinstaller
Verify the installation:
pyinstaller --version
2️⃣ Clean Previous Builds (Recommended)
Before creating a new build, clean any old files to avoid conflicts
rmdir /s /q dist build
del /q *.spec
(Or delete these folders/files manually in Windows Explorer.)
3️⃣ Build the Executable
Run the following command to create the packaged application:
pyinstaller --name Panamaram --windowed --icon=assets/icon.ico --add-data "assets/icon.png;assets" --add-data "assets/icon.ico;assets" --add-data "LICENSE;." main.py
Command Breakdown:
--name Panamaram → Sets the app name. --windowed → Runs without a terminal window. --icon=assets/icon.ico → Sets the app icon. --add-data → Includes additional files inside the build. main.py → The entry point of the application.
📝 License
MIT License
Copyright (c) 2025 Manikandan D
🙏 Acknowledgements
-
Python Software Foundation
For the language and runtime
Python.org -
Qt Company & PySide
For the amazing cross-platform GUI framework
Qt for Python (PySide6) -
Open Source Projects:
-
appdirs -
cryptography -
pyAesCrypt -
matplotlib -
fpdf2 -
openpyxl -
All other brilliant libraries used
-
Community & Testers:
Thanks to everyone who tested, gave feedback, and inspired features.
🙋♂️ Questions? Feedback?
Open an issue or contact the author
Website: https://due.im
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file panamaram-1.0.0.tar.gz.
File metadata
- Download URL: panamaram-1.0.0.tar.gz
- Upload date:
- Size: 239.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c889b2068b0a22ba86c084096cd9532d018d71adf1cf3398f3e4bde5820a9fcd
|
|
| MD5 |
5264b6a4ea6a33c8a8c9f841db6ba828
|
|
| BLAKE2b-256 |
9cab3a0e77233c542504c4fd3224c0158409db70f0822cbec52849f4e87a8815
|
File details
Details for the file panamaram-1.0.0-py3-none-any.whl.
File metadata
- Download URL: panamaram-1.0.0-py3-none-any.whl
- Upload date:
- Size: 243.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eefee5f2c249ecf7e1e5560b2d384c12476bfcce11fea57abcc0cec08e179526
|
|
| MD5 |
f81ca018d98e66c63462a78fad6943c2
|
|
| BLAKE2b-256 |
4a6d4bbbdb4ef8d0a55f195bd6ed774ea8ceadb62606669afaac2205f28ca144
|