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.13a4.tar.gz (60.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.13a4-cp310-abi3-win_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10+Windows ARM64

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

Uploaded CPython 3.10+Windows x86-64

beancount_lsp-0.0.13a4-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.13a4-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.13a4-cp310-abi3-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

beancount_lsp-0.0.13a4-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.13a4.tar.gz.

File metadata

  • Download URL: beancount_lsp-0.0.13a4.tar.gz
  • Upload date:
  • Size: 60.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.13a4.tar.gz
Algorithm Hash digest
SHA256 0effea7dc4bf14b6c145ef84809f7719a7b258939d03f2c527802ec61b749b21
MD5 a72a71d35daccece72f4d55f5c48b348
BLAKE2b-256 f8152663b30bc1c458697170bbad89ee90bda76b37b6f791394724c467962c6d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a4-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.13a4-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 5e8494bda6b366f469c25063caf7faf876d20293c1795265bca652bb4bd2acad
MD5 1f32958d7d5593e16a01e94b4625431d
BLAKE2b-256 a47f0660e64d3deb9b71bc05b5b1727c9df86644eeca9ebefd003384fab37431

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a4-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.13a4-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 675bed9d66dd04843deeca94e3e61f75d08dd5ccad8808f587e1c109ea0e6027
MD5 36e6cb2da90db7d8a5eabd1ea0787578
BLAKE2b-256 48758cd88716351d2db4a5a8ab34ff4fc10b06d63978b0909e32051ffc6619ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a4-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.13a4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11951e3cb3d4aa14460f065072860c4db3917339c40b25d6e57b64200df3fcf6
MD5 17af11955f791de4fca5a87d7e20afa1
BLAKE2b-256 cade1a4d43e2eaf658314cc1a96543722721039d7d2e074c8406f020b3ee9f81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a4-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.13a4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e946d2df3d2cad0ebecad828c50a8071327d425b0219882d9e6c8aa43e210845
MD5 e88f377b5b5dfdbe77381f196056d5bc
BLAKE2b-256 1dd9f1c2a8ac7cd7458bcb3cc05279cca529b0ad9cd0fb471bc47b19755ccd06

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a4-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.13a4-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d11b9adfa5c6c6c406e46d5dc3c6958d4c032f7ab45540282f148fcb100184a9
MD5 750d3d9675540adccfed1bcc561cef35
BLAKE2b-256 c2f0dac437554a32abe35b0af9c86064d8952064202769e94d8c40188e58f7b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a4-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.13a4-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 86ee4b9d177bcc65bb4c12a5bf7a5cc448d71d2485df05ad3e78a4fe7fefbcab
MD5 59726d7851e3eeb4560d184599b2c3ad
BLAKE2b-256 b65cad4fdbe147117159e7b4dce08ea2dc6c01bae11f01cf13200cd764116315

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