Skip to main content

QuickLedger

QuickLedger is a fast, intuitive, CLI-first expense tracker built with Python and Typer. Track your daily spending using natural language, export summaries, and optionally extend via a lightweight FastAPI backend.


Features

  • Add expenses via command line (ledger add)
  • View by day, week, or custom date range
  • Natural language support (e.g. Bought food for 2000)
  • Summary and basic analytics
  • Edit and delete entries
  • Export to CSV
  • Simple REST API (no auth yet)
  • JSON-based storage (easy to inspect and backup)
  • Pythonic, Typer-powered CLI with FastAPI backend

Installation

You can use either pip (recommended for end users) or poetry (recommended for contributors or development setup).

✅ Option 1: Using pip (PyPI)

pip install quickledger

Then you can use it directly via:

ledger

🛠️ Option 2: Using Poetry (Development)

  1. Clone the repo:
git clone https://github.com/chinyereunamba/ledger.git
cd ledger
  1. Install dependencies:
poetry install
  1. Run the CLI:
poetry run ledger

CLI Commands

➕ Add Expense

ledger add

Supports natural language:

ledger say "Bought food for 1500"

📅 View Expenses

ledger view --date 2025-07-25
ledger view --week
ledger view --range 2025-07-01 2025-07-25

✏️ Edit or Delete

ledger edit --date 2025-07-24 --index 1
ledger delete --date 2025-07-24 --index 1

📤 Export

ledger export --path my_expenses.csv

🌐 API

Start the FastAPI server from the api/ folder:

uvicorn main:app --reload

Endpoints

Method Endpoint Description
GET /expenses/ Get all expenses
POST /expenses/ Add a new expense
GET /expenses/{date} Get expenses for a date
DELETE /expenses/{date} Delete all expenses for a date
GET /summary/ Get total summary
GET /summary/{date} Summary for a specific date
GET /summary/week Past 7 days summary
GET /summary/range Summary for a date range

⚠️ No authentication yet — intended for local/private use.


🧠 NLP Support

You can input expenses like:

ledger say "Paid for transport 700"

This is automatically parsed as:

  • Expense: transport
  • Amount: 700
  • Date: today (default)

📂 Project Structure

ledger/
├── ledger/               # CLI logic & utilities
│   ├── ledger.py
│   ├── utils.py
│   └── constants.py
├── api/                  # FastAPI backend
│   ├── main.py
│   ├── routes/
│   │   └── __init__.py
│   └── models.py
├── ledger.json           # Local JSON storage
├── main.py
├── pyproject.toml        # Poetry config
├── README.md             # ← You're here
└── LICENSE

📦 PyPI

Coming soon to PyPI for easier installation via pip.


📃 License

MIT © 2025 Chinyere Unamba

Metadata

Release files for quickledger 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quickledger 0.1.5
File Size Uploaded
quickledger-0.1.5.tar.gz 15.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for quickledger 0.1.5
File Interpreter ABI Platform
quickledger-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 31.8 kB

Release files / quickledger-0.1.5.tar.gz

Download URL quickledger-0.1.5.tar.gz
Size 15.4 kB
Tags Source
SHA-256 checksum
How to use checksums
293e1be267cb68b765de6259cba542adbeeb0ed069475b2cba18a9b0d021271a
BLAKE2b-256 checksum
How to use checksums
ce214600391927c97bf9ec485168178be5f431bc855bd1d165bc38738849182e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.10.12 Linux/6.8.0-60-generic

Release files / quickledger-0.1.5-py3-none-any.whl

Download URL quickledger-0.1.5-py3-none-any.whl
Size 16.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd156973ace3aa5a7f60e6382a6d96342906fefcb8d7bb0e5ed84881aeb11227
BLAKE2b-256 checksum
How to use checksums
2451f7aa5103c69581f731c06ba65a34f79f60fb5712891443e419a99b912cc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.10.12 Linux/6.8.0-60-generic

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page