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.16.tar.gz (60.3 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.16-cp310-abi3-win_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10+Windows ARM64

beancount_lsp-0.0.16-cp310-abi3-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.10+Windows x86-64

beancount_lsp-0.0.16-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

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

beancount_lsp-0.0.16-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

beancount_lsp-0.0.16-cp310-abi3-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

beancount_lsp-0.0.16-cp310-abi3-macosx_10_12_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file beancount_lsp-0.0.16.tar.gz.

File metadata

  • Download URL: beancount_lsp-0.0.16.tar.gz
  • Upload date:
  • Size: 60.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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.16.tar.gz
Algorithm Hash digest
SHA256 f9c59ef10d1c1be04afde5aa518a2e4d71e30071caf349d34e357abf7300ff53
MD5 472fbc98183bbba24e268998f67e5066
BLAKE2b-256 e5c286e296bb8a4874794dbfa0809802beaeb14a154f3d2126bf6dfbd626a417

See more details on using hashes here.

File details

Details for the file beancount_lsp-0.0.16-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: beancount_lsp-0.0.16-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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.16-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 508552da81735b89344db65299187b1ebf0b00e3ade710af6615ce44f0eea0de
MD5 05685c647fe940b14737a4cd8c082830
BLAKE2b-256 66f2baef3d3aeed09310c8b53c92c79da8baf1e10c77f61cf1e28919a924909b

See more details on using hashes here.

File details

Details for the file beancount_lsp-0.0.16-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: beancount_lsp-0.0.16-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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.16-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 61256310ba838c1986e6113cb25bbc74971dda08fc5d5829e7701b946abd89ff
MD5 d2ba6699e47a67aa2020ba9ed83a3865
BLAKE2b-256 f698c7357b6c065d3e1553b3aa3da9bc41a23cab30dd56e07c398261f1a41487

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.16-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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.16-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f1d7fb1c77df0272bded9ed1abb9dfcbaaad7b0d0e30741f9de9e99818f07f28
MD5 8eb49fde68cb13d6db6696135eaf5589
BLAKE2b-256 9201e31b5a88e0b724ccb69bde60f6bc5166f5eab461f84b121868f8dab2ab9f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.16-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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.16-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de52acdcd2850b9c52f8c84d75f7672ee102ee3fb0f4f501701e3fd60f41b756
MD5 a3084e0b998d2ded3d64c3076b02b647
BLAKE2b-256 a41d4d71c83ea1c22053ff66ecdacf005c3691c0a6dcd43d3d3dff5a9d6a8ce5

See more details on using hashes here.

File details

Details for the file beancount_lsp-0.0.16-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: beancount_lsp-0.0.16-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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.16-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e74353af3241d19e15dd86d66e57af3cc8eefc46a6ac2dfcf9c729e100bc0e2
MD5 9be00c49516550896fde2e649da44060
BLAKE2b-256 122d1eaa8fefe95166c8143ba6cfb93a59209f9427132d297946c1471dcd8182

See more details on using hashes here.

File details

Details for the file beancount_lsp-0.0.16-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: beancount_lsp-0.0.16-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.10+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","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.16-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c7db12a8e24d3b32d2e9653354f38c5ab5685109849b9044683b9e6d38bb2705
MD5 53b126f10a285d976c94f0349848186c
BLAKE2b-256 b46eb81b86f576a4f4837dfe7113a646d2011a72063b3f6dcfd0e218edfbda1e

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