Just another terminal user interface for managing hledger journal transactions
Python
61
251 commits
updated Jun 17, 2026
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.

requirements.txt needed, dependencies are in pyproject.toml)PATH# With pipx
pipx install hledger-textual
# With uv
uv tool install hledger-textual
hledger-textual -f path/to/your.journal
The journal file is resolved in this order:
-f / --file CLI argumentLEDGER_FILE environment variable~/.config/hledger-textual/config.toml (journal_file key)~/.hledger.journalSee the Wiki for the full documentation: feature overview, configuration, investment tracking, and per-tab reference.
git clone https://github.com/thesmokinator/hledger-textual.git
cd hledger-textual
uv sync
# 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
Python
100.0%
Just another terminal user interface for managing hledger journal transactions
Python
61
251 commits
updated Jun 17, 2026
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.

requirements.txt needed, dependencies are in pyproject.toml)PATH# With pipx
pipx install hledger-textual
# With uv
uv tool install hledger-textual
hledger-textual -f path/to/your.journal
The journal file is resolved in this order:
-f / --file CLI argumentLEDGER_FILE environment variable~/.config/hledger-textual/config.toml (journal_file key)~/.hledger.journalSee the Wiki for the full documentation: feature overview, configuration, investment tracking, and per-tab reference.
git clone https://github.com/thesmokinator/hledger-textual.git
cd hledger-textual
uv sync
# 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
Python
100.0%