Skip to main content

A simple CLI tool for personal and small business budgeting.

Project description

MiniBudget

License: AGPL v3

MiniBudget is a tool designed to enable personal and small business budgeting using a plaintext format. It's inspired by beancount and plainbudget.

I wrote the MVP in an evening because:

  1. Beancount doesn't have a budgeting feature
  2. Google Sheets seemed far too complex and inefficient for such a simple set of operations

Quickstart

Run from Source

Clone the repo. Poetry is the easiest way to run it.

poetry run minibudget report budgets/example.budget

Now take a look at example.budget to learn more about it.

If you want to use the convert feature then use poetry install -E convert to get the required packages.

Documentation

Possible Features

Since this is a deliberately simple tool, the preferred way to implement these is as command line options which generate different types of output. A proper TUI in curses or similar would make this into a finance tool from the 80s, which is probably redundant versus a web app.

Pull requests welcome. I may or may not implement these myself when I feel like it.

  • Attach notes to budget categories; view them by using a flag
  • Comment syntax
  • Metadata for specifying period the budget covers, default currency, etc.
  • Assertions by allocating to categories with children; check if the budget for a category matches the total of its children (e.g. does discretionary spending match the totals of clothes, dining out, and entertainment?)
  • Make formatting and report structure customizable
  • Generate cool charts
  • Proper multi-currency support (this is probably out of scope for a simple tool like this)
  • Implement non-regression and unit testing
  • CSV output options, especially for diff (as table grows large very quickly)
  • JSON output options, mainly for testing but could be used for integrations
  • Convert ledger records to minibudget format
  • Convert csvs to minibudget format

Completed Features

  • Cool formatting for CLI
  • Integrate with beancount via bean-query to import real spending
  • Totals for budget categories, not just the top level income / expenses / unassigned

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

minibudget-0.1.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

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

minibudget-0.1.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file minibudget-0.1.0.tar.gz.

File metadata

  • Download URL: minibudget-0.1.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for minibudget-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0c3fd0ecbefa4bcf3adf87815f31598c8fc337a646f3d0cb9897ac20fc8948bf
MD5 228cac078d516921ed81a94de2a8a300
BLAKE2b-256 00a8dbb023756ff486fc16632f4e7771388e7ad1cf1c7b91e0448f4b71e33a45

See more details on using hashes here.

File details

Details for the file minibudget-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: minibudget-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for minibudget-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b44046f91d66e5c3c0eec2743aece9c1adbe5c2c4983193747842583be66e471
MD5 729f951299095620fe84410b7143e0cc
BLAKE2b-256 9d24e7bc96cf259981ab441150cd222743d632ee57f87035457064e37120b565

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