Skip to main content

A keyboard-driven terminal editor for hledger plain-text accounting journals

Project description

ledgerkit-editor

CI

A keyboard-driven terminal editor for hledger plain-text accounting journals.

Early beta — use with caution. This software is under active development and may corrupt your journal files. Always keep a backup before editing. Do not use on irreplaceable data without a recovery plan.

Built with Textual and ledgerkit.


Features

  • Full-screen text editor with hledger syntax highlighting (dates, payees, accounts, amounts, commodities, comments, directives)
  • Monokai Pro default theme; runtime theme switching supported
  • Incremental search with match highlighting (Ctrl+F, Shift+PgUp/Down)
  • View filter — show all / cleared-only / unreconciled-only transactions (Ctrl+L)
  • Transaction block selection and duplication (Ctrl+T, Ctrl+G)
  • Cleared status toggle — single transaction (3-state cycle) and bulk selection (Ctrl+R)
  • Insert today's date at cursor (Ctrl+D)
  • Date shifting with Shift+Up / Shift+Down (cursor-position-aware)
  • Save with date-sort and whitespace re-alignment (Ctrl+S)
  • Undo / Redo (Ctrl+Z / Ctrl+Y)
  • Command palette (Ctrl+P)

Planned / In Progress

  • Transaction filter popup (Ctrl+O) — UI stub only; criteria filtering not yet implemented
  • BalanceSidebar — account balance tree (wired up, threaded refresh on save)
  • RegisterPanel — account transaction register (wired up, last 500 rows)
  • Reconciliation mode

Installation

From PyPI

pip install ledgerkit-editor
ledgerkit-editor path/to/my.journal

Development setup

git clone https://github.com/ctosullivan/ledgerkit-editor.git
cd ledgerkit-editor

python -m venv .venv
.venv\Scripts\activate        # Windows
# source .venv/bin/activate   # macOS / Linux

pip install --upgrade pip
pip install -e ".[dev]"

# Run tests
pytest --tb=short

# Launch
ledgerkit-editor path/to/my.journal

Journal File Resolution

The editor resolves the journal file in this order:

  1. Path passed as a command-line argument
  2. $LEDGER_FILE environment variable
  3. ~/.hledger.journal default
  4. Interactive prompt on launch (if none of the above resolve)

Keyboard Shortcuts

See docs/shortcuts.md for the full reference.


Requirements

  • Python 3.9+
  • textual 8.2.5
  • ledgerkit 1.0.0.dev1

Development

See CONTRIBUTING.md for setup instructions and the ledgerkit dependency update workflow.

Roadmap

See ROADMAP.md for planned features and current development status.


This repository was previously named PyLedger-editor. GitHub redirects old URLs automatically.

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

ledgerkit_editor-1.0.1.tar.gz (69.6 kB view details)

Uploaded Source

Built Distribution

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

ledgerkit_editor-1.0.1-py3-none-any.whl (56.1 kB view details)

Uploaded Python 3

File details

Details for the file ledgerkit_editor-1.0.1.tar.gz.

File metadata

  • Download URL: ledgerkit_editor-1.0.1.tar.gz
  • Upload date:
  • Size: 69.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ledgerkit_editor-1.0.1.tar.gz
Algorithm Hash digest
SHA256 120dbe939251a86dfba7995d7df87e16249c271aa933c785fbeede73cef346d1
MD5 3ec4bc51021a9adb597a0bcf7c0e7aa7
BLAKE2b-256 f0737944045e3c0eba0e97840705774954540ae005e639995bb352d5ae3784f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ledgerkit_editor-1.0.1.tar.gz:

Publisher: publish.yml on ctosullivan/ledgerkit-editor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ledgerkit_editor-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ledgerkit_editor-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f3b0082fe0ee3dcc6f2df3262c8178d5f41929a8483859935ffc5bd41c6085a7
MD5 c28bd431b4766d74c51a6e1694ed346a
BLAKE2b-256 d7152162a22f79c76d43087b0de8ab2a500e9cdac923f95b96525b75d728e599

See more details on using hashes here.

Provenance

The following attestation bundles were made for ledgerkit_editor-1.0.1-py3-none-any.whl:

Publisher: publish.yml on ctosullivan/ledgerkit-editor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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