Metadata-Version: 2.4
Name: panamaram
Version: 1.0.0
Summary: Panamaram Personal Finance Expense Tracker
Author-email: Manikandan D <manikandan@due.im>
License: MIT License
        
        Copyright (c) 2025 Manikandan D
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
        Project website: https://due.im
        
Project-URL: Homepage, https://due.im/panamaram/
Project-URL: Repository, https://github.com/manikandancode/Panamaram
Project-URL: BugTracker, https://github.com/manikandancode/Panamaram/issues
Keywords: personal finance,expense tracker,finance,expense,income tracker
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Office/Business :: Financial :: Accounting
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: appdirs==1.4.4
Requires-Dist: cffi==1.17.1
Requires-Dist: contourpy==1.3.2
Requires-Dist: cryptography==45.0.5
Requires-Dist: cycler==0.12.1
Requires-Dist: defusedxml==0.7.1
Requires-Dist: et_xmlfile==2.0.0
Requires-Dist: fonttools==4.59.0
Requires-Dist: fpdf2==2.8.3
Requires-Dist: kiwisolver==1.4.8
Requires-Dist: matplotlib==3.10.3
Requires-Dist: numpy==2.3.1
Requires-Dist: openpyxl==3.1.5
Requires-Dist: packaging==25.0
Requires-Dist: pillow==11.3.0
Requires-Dist: pyAesCrypt==6.1.1
Requires-Dist: pycparser==2.22
Requires-Dist: pyparsing==3.2.3
Requires-Dist: PySide6==6.9.1
Requires-Dist: PySide6_Addons==6.9.1
Requires-Dist: PySide6_Essentials==6.9.1
Requires-Dist: python-dateutil==2.9.0.post0
Requires-Dist: shiboken6==6.9.1
Requires-Dist: six==1.17.0
Dynamic: license-file

<p align="center">
  <img src="https://raw.githubusercontent.com/manikandancode/Panamaram/refs/heads/main/assets/icon.png" alt="Panamaram App Icon" width="120"/>
</p>

# Panamaram - Personal Finance Expense Tracker

[![Python](https://img.shields.io/badge/Python-3.13.3-blue?logo=python)](https://www.python.org/downloads/release/python-3133/)
[![PySide6](https://img.shields.io/badge/PySide6-6.9.1-brightgreen)](https://pypi.org/project/PySide6/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Platform](https://img.shields.io/badge/Platform-Windows%2011-blueviolet)](https://www.microsoft.com/software-download/windows11)
[![Stars](https://img.shields.io/github/stars/manikandancode/Panamaram?style=social)](https://github.com/manikandancode/Panamaram)
![GitHub all releases](https://img.shields.io/github/downloads/manikandancode/Panamaram/total)

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
```bash
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](https://www.python.org/downloads/release/python-3133/)
- During install:
  - **Check** “Add Python to PATH”.
  - Choose “Customize installation”.
  - Complete the wizard.
- Verify:
```bash
python --version
```

- Output: Python 3.13.3

### 2. Create Your Project Directory

- Open your terminal or command prompt and run:
```bash
mkdir Panamaram
cd Panamaram
```
### 3. Create and Activate a Virtual Environment

- Create virtual environment
```bash
python -m venv venv
```
- Activate (on Windows)
```bash
venv\Scripts\activate
```
- If successful, your terminal will show:
(venv)
### 4. Install Required Packages
```bash
pip install PySide6
pip install appdirs pyAesCrypt cryptography
pip install matplotlib
pip install fpdf2
pip install openpyxl
```
- (Optional) Save package versions for later with:
```bash
pip freeze > requirements.txt
```
- **To install all at once in the future:**
```bash
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](https://marketplace.visualstudio.com/items?itemName=ms-python.python))*

### 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):

```bash
venv\Scripts\activate
```
Then install PyInstaller:
```bash
pip install pyinstaller
```
Verify the installation:
```bash
pyinstaller --version
```
### 2️⃣ Clean Previous Builds (Recommended)
Before creating a new build, clean any old files to avoid conflicts

```bash
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:
```bash
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](https://www.python.org/)

- **Qt Company & PySide**  
For the amazing cross-platform GUI framework  
[Qt for Python (PySide6)](https://doc.qt.io/qtforpython/)

- **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](https://github.com/manikandancode/Panamaram/issues) or contact the author  
Website: https://due.im

---
