A full-featured terminal user interface for hledger plain-text accounting. Manage transactions, recurring rules, budgets, and investments — with multi-period reports, account drill-downs, and git sync — all from your terminal.
Built with Textual and Python.
Stack
- Python 3.12+
- Textual - TUI framework
- hledger - plain-text accounting (must be installed separately)
- uv - package manager (no
requirements.txtneeded, dependencies are inpyproject.toml) - pytest - testing
Requirements
- Python 3.12+
- hledger installed and available in
PATH
Installation
# With pipx pipx install hledger-textual # With uv uv tool install hledger-textual
Usage
hledger-textual -f path/to/your.journal
The journal file is resolved in this order:
-f/--fileCLI argumentLEDGER_FILEenvironment variable~/.config/hledger-textual/config.toml(journal_filekey)~/.hledger.journal
Documentation
See the Wiki for the full documentation: feature overview, configuration, investment tracking, and per-tab reference.
Development
git clone https://github.com/thesmokinator/hledger-textual.git
cd hledger-textual
uv syncTesting
# Run all tests uv run pytest # Run with verbose output uv run pytest -v # Run with coverage report uv run pytest --cov=hledger_textual --cov-report=term-missing
