Skip to main content

Hledger TUI

Project description

Dravik

PyPI - Version GitHub License

Dravik is a TUI for hledger, focused on a fast, keyboard-driven workflow for personal accounting. It provides a simple interface to interact with financial data without manual text edits.

Transactions List
You can see more screenshots in screenshots directory in the root of the project.

Main Features:

  • Accounts tree
  • Transaction list with internal filters (shortcuts for time filters, autocomplete for account path input, etc)
  • Historical balance chart
  • Balance change chart
  • Financial reports: income statement, balance sheet, cash flow
  • Account labeling (e.g., label "Electricity" instead of expenses:housing:utilities:electricity)
  • Pin accounts on the home page to see their balance
  • Currency labels (e.g., label $ instead of USD)

Note: Dravik supports only the hledger features I use. You're welcome to add more. For currency conversion, I use the equity method, so only that is supported.
Tested hledger version: 1.32


📦 Installation

Recommended: Install via UV

Dravik can be installed using uv, a fast Rust-based package manager that automatically handles dependencies, including Python.

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

# Restart your terminal or run:
source $HOME/.local/bin/env

# Install python 3.13 if you don't have it already
uv python install 3.13

# Install Dravik
uv tool install --python 3.13 dravik

Now you can start using Dravik with:

dravik-init  # Initialize configuration files
dravik       # Start Dravik

Alternative: Install via Pip

First make sure you have Python 3.13 and then install the package with your Python package manager (pip, etc)

pip install dravik

However, uv is the recommended method due to its speed and dependency management.


⚙️ Configuration

After the initial setup, Dravik creates a config file at ~/.config/dravik/config.json. Below is an example:

{
    "ledger": "/home/user/hledger/2025.ledger",
    "account_labels": {
        "assets:bank": "Banks",
        "assets:binance": "Binance",
        "assets:bank:revolut": "Revolut",
        "assets:bank:sparkasse": "Sparkasse",
        "assets:bank:paypal": "PayPal",
        "assets:cash": "Cash"
    },
    "currency_labels": {
        "USDT": "₮",
        "EUR": "€"
    },
    "pinned_accounts": [
        {"account": "assets:bank", "color": "#2F4F4F"},
        {"account": "assets:cash", "color": "#8B4513"},
        {"account": "assets:binance", "color": "#556B2F"}
    ]
}

Note: If ledger is set to null, Dravik will use hledger's default file.

Note: Dravik does not install hledger automatically. You must install and configure it separately.


🛠️ Development Setup

Refer to the Makefile for available commands and setup instructions.


📜 License

Dravik is licensed under GPL-3.0. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dravik-0.24.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dravik-0.24-py3-none-any.whl (53.5 kB view details)

Uploaded Python 3

File details

Details for the file dravik-0.24.tar.gz.

File metadata

  • Download URL: dravik-0.24.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.4

File hashes

Hashes for dravik-0.24.tar.gz
Algorithm Hash digest
SHA256 f661bab2654aa43c7c27c0df6c431c475ea2d6bebc3128a4675642369f6ab5b6
MD5 ca16026715ae567e8e412f1e67f6930d
BLAKE2b-256 3bb41bc59413a3b85a0151a00fe2a49b831d3c53d2cb0bf8b070cba85f413b2e

See more details on using hashes here.

File details

Details for the file dravik-0.24-py3-none-any.whl.

File metadata

  • Download URL: dravik-0.24-py3-none-any.whl
  • Upload date:
  • Size: 53.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.4

File hashes

Hashes for dravik-0.24-py3-none-any.whl
Algorithm Hash digest
SHA256 a0e683aaeb31cf8ce6fa8cac2429c3c0957cdbbb9cf5fcd631f56434a797599c
MD5 769efe0451287162e6f17411f18bdeb9
BLAKE2b-256 ad33186217822cd9c164a3e5c463c3ea6d301407dfa74220a1d3c79409ef1080

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page