/puffin

A beautiful terminal dashboard for hledger 💰

Primary LanguageGo

Puffin

Terminal dashboard to manage personal finances. Built with hledger and bubbletea.

Latest Release Build Status

Features

  • View balance
    • assets
    • expenses
    • revenue
    • liabilities
  • View reports
    • income statement
    • balance sheet
  • View transactions
  • Filter by
    • account name
    • start/end date
  • View by period (monthly, yearly)
  • Zoom in/out of accounts (change account depth)

Installation

Pre-requisites

  • hledger is required for puffin to work.
  • make
  • Go compiler (>=1.17)

Build

  • Clone this repo
  • Run the command make build. This creates the binary puffin.

Run demo

  • Clone this repo
  • Run make start

Run with your own journal file

  • Build using make build
  • Run using ./puffin. It automatically uses the $LEDGER_FILE environment variable

Custom path for the journal file

There are 2 ways to use a custom path for the journal file.

  1. Run with env var: LEDGER_FILE=<custom_path> ./puffin
  2. Run with args: ./puffin -file <custom_path>

Change hledger executable path

Run with ./puffin -exe <path_to_hledger>

Keys

Key Feature
? toggle help (to remove)
q quit app
r refresh data
f activate filters
esc de-activate filter
j/k/up/down navigate reports
up/down navigate filters (when active)
J/K/PgUp/PgDown scroll inside a report
m/u/y monthly/quarterly/yearly report