Skip to main content

Beancount LSP packaged for Python environments

Project description

Beancount LSP

Cross-platform Language Server for Beancount, distributed as the beancount-lsp Python package. The server is implemented in Rust and shipped as a PyO3 extension, so you get native performance with a familiar Python installation and CLI.

Requirements

  • Python 3.10+
  • beancount 3.x (installed automatically as a dependency)
  • An editor that can speak the Language Server Protocol over stdio

Install

pip install beancount-lsp
# or
uv pip install beancount-lsp

The package installs two console scripts: beancount-lsp (preferred) and beancount-langauge-server (compat alias).

Quick start

  1. Pick your main journal file (the one that includes the rest). Call it /path/to/main.bean.
  2. Configure your LSP client to start the server via stdio:
    • Command: beancount-lsp
    • Initialization options (required):
      {
          "root_file": "/path/to/main.bean"
      }
      
  3. Open any included Beancount file; the server will parse the full include graph starting from root_file.

VS Code

Install the Marketplace extension: Beancount LSP. See vscode/README.md for extension configuration details (root file setting, commands, and troubleshooting).

Capabilities

  • Diagnostics: runs the Beancount loader on the root file (and imports) to report parser errors and other validation issues. Diagnostics are published per file with line/column data when available.
  • Account completion: offers account names gathered from all open directives in the loaded files.
  • Hover: shows notes attached to the account under the cursor (note ACCOUNT "...").
  • Go to definition: jumps to the open directive for the account under the cursor, searching across included files.
  • Semantic tokens: tree-sitter-based semantic highlighting for Beancount syntax.
  • Include expansion: include directives (and glob patterns) are loaded transitively from the root_file so completion/hover/definitions work across your whole journal.

Logging and troubleshooting

  • Increase verbosity: beancount-lsp --log-level debug
  • Write logs to a file: beancount-lsp --log-file beancount-lsp.log
  • If the server exits immediately, verify that root_file exists and that the process can import beancount in the same Python environment.
  • The server requires full-document sync; incremental sync clients are not supported.

Updating

To upgrade to the latest release:

pip install --upgrade beancount-lsp

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

beancount_lsp-0.0.13a0.tar.gz (55.5 kB view details)

Uploaded Source

Built Distributions

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

beancount_lsp-0.0.13a0-cp310-abi3-win_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10+Windows ARM64

beancount_lsp-0.0.13a0-cp310-abi3-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.10+Windows x86-64

beancount_lsp-0.0.13a0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

beancount_lsp-0.0.13a0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

beancount_lsp-0.0.13a0-cp310-abi3-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

beancount_lsp-0.0.13a0-cp310-abi3-macosx_10_12_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file beancount_lsp-0.0.13a0.tar.gz.

File metadata

  • Download URL: beancount_lsp-0.0.13a0.tar.gz
  • Upload date:
  • Size: 55.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for beancount_lsp-0.0.13a0.tar.gz
Algorithm Hash digest
SHA256 066798d00d4f58f90074b92a5d31c17725ad02cca98e68fac2ac78f0571f7995
MD5 3bdf5c329ca2463848cdc1e4e591b8a5
BLAKE2b-256 0d410a8d898b791dfab70ed90156b1a5ad3dc536659243f7c33f06997b93e13e

See more details on using hashes here.

File details

Details for the file beancount_lsp-0.0.13a0-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: beancount_lsp-0.0.13a0-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.10+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for beancount_lsp-0.0.13a0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 a70296abf51f4fb8bf24680124e445263a8da37186e076c00e348b3edc826d9d
MD5 9b27b0aa24898ec42169fbb8bd43ce0e
BLAKE2b-256 1b398f534acb5d62a8fc4b29725564e998e3f5874dcc1e0b2129e243056fc5e8

See more details on using hashes here.

File details

Details for the file beancount_lsp-0.0.13a0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: beancount_lsp-0.0.13a0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for beancount_lsp-0.0.13a0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ff83e5b96c91820039b6e1cc5dc4bc4c8f6a41f5eac562791e3d34e2412feb44
MD5 0324e03cbf6f62b0b463d97873dcb111
BLAKE2b-256 b1d60e128c2019a4870750605a24480422b25aaa0cb66cacf44dc4c4d26ebcc8

See more details on using hashes here.

File details

Details for the file beancount_lsp-0.0.13a0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: beancount_lsp-0.0.13a0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for beancount_lsp-0.0.13a0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2b61e0a48c563d27b7244f347a4e95285a4d05c43bde99a83dbbb52e30003d4
MD5 b4f134c4ac74b2791901063d026041d4
BLAKE2b-256 4f6810265467d3ef7458fef80172e629e8fa2b2e51510b2aa94350d8d2a613fb

See more details on using hashes here.

File details

Details for the file beancount_lsp-0.0.13a0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: beancount_lsp-0.0.13a0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for beancount_lsp-0.0.13a0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6e2dc62ef980ab3ab19405401895fdb57c1c070ebd65e0b8a8b22a268e6268a5
MD5 4175c2904192366a9e5fe2953dedc6cb
BLAKE2b-256 5c84cfdabede9b12f6220e839f858d43acfa143417a9333a1651a2a7969969e3

See more details on using hashes here.

File details

Details for the file beancount_lsp-0.0.13a0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: beancount_lsp-0.0.13a0-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for beancount_lsp-0.0.13a0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f1ced258792603d67c0a545eaf94889c526b8331485326b514d3d87016401db
MD5 3c064edb0689cd6dd1df7e22dca6966b
BLAKE2b-256 065bd7f761ac9c3b72a290d1cb2c509e63c7330084f41e2b9279b17ea81ddce1

See more details on using hashes here.

File details

Details for the file beancount_lsp-0.0.13a0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: beancount_lsp-0.0.13a0-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for beancount_lsp-0.0.13a0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 de2acddd37743b7e65cebfa6b0b6b8d4a4f578caa25d1385d7a6386c00f465e6
MD5 e26933750ba51aa1d460793fbb3c7fda
BLAKE2b-256 58aaaecea614e95ff53c7e2abd2afd0788da63d326e46314795d140b7f3d512e

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