{"id":33319277,"url":"https://github.com/cps7/expense-tracker-cli","last_synced_at":"2025-11-23T03:01:49.981Z","repository":{"id":324502741,"uuid":"1097444417","full_name":"CPS7/Expense-Tracker-CLI","owner":"CPS7","description":"Expense-Tracker-CLI is a powerful command-line personal finance manager built with Python and SQLite. It allows you to track, analyze, and visualize your expenses with advanced features like budgeting, trend charts, and encrypted notes—all from the terminal.","archived":false,"fork":false,"pushed_at":"2025-11-16T08:57:15.000Z","size":12,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-16T09:17:42.408Z","etag":null,"topics":["budgeting","cli","code","encryption","expense-tracker","finance-management","fpdf","matplotlib","openpyxl","personal-finance","productivity-tools","python","rich","sqlalchemy","sqlite","terminal-app"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CPS7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-16T07:25:14.000Z","updated_at":"2025-11-16T09:10:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/CPS7/Expense-Tracker-CLI","commit_stats":null,"previous_names":["cps7/expense-tracker-cli"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/CPS7/Expense-Tracker-CLI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPS7%2FExpense-Tracker-CLI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPS7%2FExpense-Tracker-CLI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPS7%2FExpense-Tracker-CLI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPS7%2FExpense-Tracker-CLI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CPS7","download_url":"https://codeload.github.com/CPS7/Expense-Tracker-CLI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPS7%2FExpense-Tracker-CLI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285319005,"owners_count":27151474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-19T02:00:05.673Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["budgeting","cli","code","encryption","expense-tracker","finance-management","fpdf","matplotlib","openpyxl","personal-finance","productivity-tools","python","rich","sqlalchemy","sqlite","terminal-app"],"created_at":"2025-11-19T20:00:29.620Z","updated_at":"2025-11-19T20:01:21.556Z","avatar_url":"https://github.com/CPS7.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\n\n# Expense Tracker CLI\n\n![Release](https://img.shields.io/badge/release-v1.0.0-blue)\n\nA Python CLI app to manage personal expenses with budgets, analytics, exports, and optional encrypted notes.\n\n---\n\nIf you like this tool, ⭐ it on GitHub!\n\n## **Features**\n\n* Add, update, and soft-delete expenses\n* Categorize expenses and track monthly budgets\n* View monthly totals per category\n* Filter/search expenses by category, date, amount, or keyword\n* Export to **Excel (.xlsx)** and **PDF (.pdf)**\n* Optional **note encryption** using Fernet\n* Spending trend visualization (ASCII + chart embedded in PDF)\n* Rich interactive CLI with tables, prompts, and panels\n\n---\n\n## **Tech Stack**\n\n* **Python 3.10+**\n* **SQLite** via **SQLAlchemy ORM**\n* CLI UI: [`rich`](https://github.com/Textualize/rich)\n* PDF export: [`fpdf`](https://pypi.org/project/fpdf/)\n* Excel export: [`openpyxl`](https://pypi.org/project/openpyxl/)\n* Charting: [`matplotlib`](https://matplotlib.org/)\n* Optional encryption: [`cryptography`](https://cryptography.io/)\n\n---\n\n## **Setup**\n\n1. **Clone repo**\n\n```bash\ngit clone https://github.com/CPS7/Expense-Tracker-CLI.git\ncd Expense-Tracker-CLI\n```\n\n2. **Create virtual environment**\n\n```bash\npython -m venv venv\nsource venv/bin/activate  # Linux / macOS\nvenv\\Scripts\\activate     # Windows\n```\n\n3. **Install dependencies**\n\n```bash\npip install -r requirements.txt\n```\n\n4. **Optional: Enable note encryption**\n\nCreate a `.env` file with:\n\n```\nEXPENSE_ENCRYPT_NOTES=1\nEXPENSE_KEY=\u003cyour_32byte_base64_key\u003e\n```\n\n\u003e Key must be **32 url-safe base64 bytes**. Encryption can be disabled by setting `EXPENSE_ENCRYPT_NOTES=0` or leaving `EXPENSE_KEY` empty.\n\n---\n\n## **Usage**\n\nRun the CLI app:\n\n```bash\npython main.py\n```\n\nYou’ll see a menu like:\n\n```\n1. Add Expense\n2. View Expenses\n3. Soft Delete Expense\n...\n14. Exit\n```\n\n* Navigate with number input\n* Follow prompts for amount, date, note, category, etc.\n* Export options available for Excel and PDF reports\n\n---\n\n## **Examples**\n\n**Add an expense:**\n\n```text\nAmount (₹): 500\nNote: Groceries\nDate (YYYY-MM-DD): 2025-11-15\nCategory: Food\nCurrency: INR\n✔ Expense saved (id: 1)\n```\n\n**View monthly category totals:**\n\n```text\nCategory Totals - November 2025\n-------------------------------\nFood          1500.00\nTransport      800.00\nUtilities      300.00\n-------------------------------\nTotal all categories: 2600.00\n```\n\n**Export filtered expenses to PDF with trend chart**\n\n```\nSearch \u0026 Export -\u003e Export as PDF -\u003e Embed trend chart: Yes\n✔ PDF exported: expenses_report_20251115_221530.pdf\n```\n\n---\n\n## **Database Schema**\n\n* `categories` → Expense categories\n* `expenses` → Stores individual expenses\n* `budgets` → Monthly budgets per category\n* `expense_history` → Tracks create/update/delete actions\n* `meta_info` → Schema version info\n\n---\n\n## **Notes**\n\n* Soft delete sets `deleted=True`; hard delete removes record.\n* Notes cannot be searched reliably if encryption is enabled.\n* Budgets trigger warnings at **80% spent** and **100% exceeded**.\n* Trend charts are embedded in PDF; temporary files are cleaned automatically.\n\n---\n\n## **License**\n\nMIT License © 2025 CPS7\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcps7%2Fexpense-tracker-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcps7%2Fexpense-tracker-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcps7%2Fexpense-tracker-cli/lists"}