Skip to content

PureStupid/Bagels

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bagels - TUI Expense Tracker

Powerful expense tracker that lives in your terminal.

Bagels

Bagels expense tracker is a TUI application where you can track and analyse your money flow, with convenience oriented features and a complete interface.

Some notable features include:

accounts, (sub)categories, splits, transfers, records You can track your money flow through different accounts, categories, and splits. You can also transfer money between your accounts and even outside tracked accounts.
templates for recurring transactions Create templates for frequently added transactions, so you can quickly add them without typing much.
add templated record with number keys Press a number key to quickly add a transaction based on a template.
clear table layout with toggable splits The clear table layout makes it easy to read and understand even the most complex transactions.
transfer to and from outside tracked accounts You can transfer money between your accounts and even outside tracked accounts.
"jump mode" navigation Quickly navigate between different parts of the application.
less and less fields to enter per transaction, powered by transactions and input modes The input mode system helps you quickly enter transactions by automatically selecting the right field for you to enter. And with the transaction history, you can quickly see what you entered before.
insights Bagels provides insights in the form of charts and tables, to help you understand your money flow.
customizable keybindings and defaults, such as first day of week You can customize the keybindings and defaults of the application to fit your needs.

Who is this for?

Installation

# install uv (package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh

# restart your terminal, or run the following command:
source $HOME/.local/bin/env # or follow instructions

# install bagels through uv
uv tool install --python 3.13 bagels

Usage:

bagels # start bagels
bagels --at "./" # start bagels with data stored at cd
bagels locate database # find database file path
bagels locate config # find config file path

It is recommended, but not required, to use "modern" terminals to run the app. MacOS users are recommended to use iTerm2, and Windows users are recommended to use Windows Terminal.

Development setup

git clone https://github.com/EnhancedJax/Bagels.git
cd Bagels
uv sync
mkdir instance
uv run bagels --at "./instance/" # runs app with storage in ./instance/
# alternatively, use textual dev mode to catch prints
uv run textual run --dev "./src/bagels/textualrun.py"
uv run textual console -x SYSTEM -x EVENT -x DEBUG -x INFO # for logging

Please use the black formatter to format the code.

Roadmap

  • [] More insight displays and analysis (by nature etc.)
  • [] "Processing" bool on records for transactions in process
  • [] Record flags for future insights implementation
  • [] Repayment reminders
  • [] Code review
  • [] Daily check-ins
  • [] Budgets
  • [] Add tests
  • [] Bank sync

Attributions

  • Heavily inspired by posting
  • Bagels is built with textual
  • It's called bagels because I like bagels

About

Powerful expense tracker that lives in your terminal.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%