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.0.tar.gz (69.0 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.0-py3-none-any.whl (55.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ledgerkit_editor-1.0.0.tar.gz
  • Upload date:
  • Size: 69.0 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.0.tar.gz
Algorithm Hash digest
SHA256 3836601ba41279a08dc5035d6366f2d998d4ca546e2d2ac8822059ba674fd971
MD5 22af6b373d7dbba5da3780ff53fd00cb
BLAKE2b-256 ce485f3beaa98ae932e03d7fe635e3a9e7701f507a65e7bf0d7bbbef85cf4019

See more details on using hashes here.

Provenance

The following attestation bundles were made for ledgerkit_editor-1.0.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ledgerkit_editor-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4343ccac61dd803c9f36f6d99a7ca19374bb443dd794b92ee7267e413bdc3c6
MD5 a08ae8d1fe09c139aa56004b131f61a2
BLAKE2b-256 e0d4944c8527c7aeacb449cec87b0f951b6d02cf12c74e3a14244ca75c0dd5fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ledgerkit_editor-1.0.0-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