Skip to main content

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.

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.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 files

Supported by

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