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.0.tar.gz (93.8 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.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for moomoolah-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f56f8c3fcd13eb09fbb9f8c0046a04bfcf0a26f21605a510ae9e580e6b466122
MD5 e51e5128f657e60e5f2db7ca3fd26362
BLAKE2b-256 febe6f3cf9a4ad37263b5f2c8be9de02c8b02e6b9d5f597ae565808c3cbca146

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for moomoolah-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8537b039ffed7cd97c334e1e1c000a65db8dde9a074a9d03278e734527124d46
MD5 1036d01425ed554c851a8486a28fcfd8
BLAKE2b-256 b4d377b7a4091121e05fa7bf7ebe91675b6d2dccf32f1cd63ed33b84ecad798d

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