Skip to content

thesmokinator/hledger-textual

hledger-textual

PyPI GitHub Release

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.

hledger-textual demo

Stack

  • Python 3.12+
  • Textual - TUI framework
  • hledger - plain-text accounting (must be installed separately)
  • uv - package manager (no requirements.txt needed, dependencies are in pyproject.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:

  1. -f / --file CLI argument
  2. LEDGER_FILE environment variable
  3. ~/.config/hledger-textual/config.toml (journal_file key)
  4. ~/.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 sync

Testing

# 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

About

Just another terminal user interface for managing hledger journal transactions

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors

Languages