Skip to main content

Panamaram Personal Finance Expense Tracker

Project description

Panamaram App Icon

Panamaram - Personal Finance Expense Tracker

Python PySide6 License: MIT Platform Stars GitHub all releases

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, type Python: 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

  1. Clone/download this repository.
  2. Follow the steps above to set up the environment and install dependencies.
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

panamaram-1.0.0.tar.gz (239.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

panamaram-1.0.0-py3-none-any.whl (243.9 kB view details)

Uploaded Python 3

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

Hashes for panamaram-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c889b2068b0a22ba86c084096cd9532d018d71adf1cf3398f3e4bde5820a9fcd
MD5 5264b6a4ea6a33c8a8c9f841db6ba828
BLAKE2b-256 9cab3a0e77233c542504c4fd3224c0158409db70f0822cbec52849f4e87a8815

See more details on using hashes here.

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

Hashes for panamaram-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eefee5f2c249ecf7e1e5560b2d384c12476bfcce11fea57abcc0cec08e179526
MD5 f81ca018d98e66c63462a78fad6943c2
BLAKE2b-256 4a6d4bbbdb4ef8d0a55f195bd6ed774ea8ceadb62606669afaac2205f28ca144

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page