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

Uploaded CPython 3.10+Windows ARM64

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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

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

File metadata

  • Download URL: beancount_lsp-0.0.13a2.tar.gz
  • Upload date:
  • Size: 59.1 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.13a2.tar.gz
Algorithm Hash digest
SHA256 0c5eee33cb81feb4ea4aa09e1e7c0c437001a3f211e3a8eb240c826b35608841
MD5 ef514a568957f1cebb56c9ec6fffd23c
BLAKE2b-256 6a65719c5df4bbd3fce98c54b508b0d260fb42b256670750461ca2954d4fefc0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a2-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.13a2-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 9811355ae7487c975510b41341f14a7882b106853d136dbb40df3d316af7f511
MD5 dcba61b66b0a0811fd88abd6582a4f96
BLAKE2b-256 c0da67f488c22632dfdf73fcd92f1a398476d26837789a0236f8a28ecba551f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a2-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.13a2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a445e508afe5a7dd6c88f1b39370885f9afa07c2f898d71f8fc6b1e04bf60195
MD5 db040f35482cd5a688b2913bd1feacfe
BLAKE2b-256 c838088b606ef2bcc349ade7962d2c5b1d53d6e06263d5ae20e544c3dc2241ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a2-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.13a2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c94edf339f18c331e48f37b021002f2090c3a4accba5edaa86f4b30e2803c6f2
MD5 70abe4d28621f421fb8634bfca5f725e
BLAKE2b-256 456ea1100a2157fee7f7d1d779be064ed3586de613c2e9b1d1aae8b6aa1bf33d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a2-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.13a2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d52099a8d1955ef48bc21a8c9cfaef7beef6c998b90152750badd7b19440b92b
MD5 10af20f6e7c304cf670a4cdb77108504
BLAKE2b-256 3e3ec0b06f574963c2b5acb111677a1c175c756b69d1cb553557d257538496ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a2-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.13a2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d685a1b2e3199225cbf0b68725e9f572cbe3bb30c58a40abd847f0f8fa7177a
MD5 6be22bbbf996305401a0f9035f611c88
BLAKE2b-256 a611ae13011b964c5bb3d7eaf995fadee893b7f009e6a8376e28bf2605c0f937

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.13a2-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.13a2-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 798132143c683eda5fb42c6d44522acca2539af22519b38f3bda47e35c9d50cf
MD5 93e22d8b650c77a6337b0bd15ac1a0a6
BLAKE2b-256 4cdab324ade8af54cce6ef3746ab6c8bf468f54beb19396d809ffd9db5e7ec54

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