Skip to main content

MooMoolah - Personal Budget Planner

Project description

MooMoolah

A terminal-based personal budget planning application built with Python and Textual.

Your data is stored locally in a JSON file, keeping your financial information private and accessible offline.

Features

  • 12-month forecast view - Shows projected expenses, income, and balance for the next 12 months
  • Expense and Income management - Add, edit, and delete expense/income entries
    • Recurring entries - Support for one-time, monthly, and yearly recurring transactions
    • Category tracking - Organize entries by categories

Screenshots

Main screen:

Main Screen

Adding an expense:

Add Expense

Installation

Install MooMoolah using pip:

pip install moomoolah

Usage

Run the application with:

moomoolah <state_file.json>

The state file will be created if it doesn't exist.

Usage

Navigation

  • Main screen: e (manage expenses), i (manage income)
  • Entry screens: Insert (add entry), Delete (remove entry), click row to edit
  • Global shortcuts: Ctrl+S (save), Ctrl+Q (quit), Escape/Backspace (back)

Entry Management

Each entry includes:

  • Description and amount
  • Category for organization
  • Recurrence type (once, monthly, yearly)
  • Start date and optional end date
  • Frequency interval (e.g., every 2 months)

Development

See plan.md for current development roadmap and planned features.

This project uses uv for dependency management.

Setup

  1. Install uv if you haven't already:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Install dependencies:

    uv sync
    
  3. Run the application:

    uv run moomoolah <state_file.json>
    

Running Tests

uv run pytest

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

moomoolah-0.2.1.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

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

moomoolah-0.2.1-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file moomoolah-0.2.1.tar.gz.

File metadata

  • Download URL: moomoolah-0.2.1.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for moomoolah-0.2.1.tar.gz
Algorithm Hash digest
SHA256 d5aa6ab098bf0ccd08a382f17380db82e9b6a9f9df8e64cedab98f84db819887
MD5 2c530d1bcade53cd6c70d5faac39cae2
BLAKE2b-256 83725c9622afd7a9dd9fe46b65bbbe053990988e0ceea13fd56aaf521a329709

See more details on using hashes here.

File details

Details for the file moomoolah-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: moomoolah-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for moomoolah-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4a42fbc78e16d7b91da355aaac3bc99f1b88fa970cdc551f50b93a948ceed5b5
MD5 076d55ea355effca39d27b76458f418c
BLAKE2b-256 96f0e4d7ad872b1cd971bbd0e8adbe9d300d04ed9fb41bc0c2fccd5a51432c60

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