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

Uploaded CPython 3.10+Windows ARM64

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

Uploaded CPython 3.10+Windows x86-64

beancount_lsp-0.0.17-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.17-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.17-cp310-abi3-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

beancount_lsp-0.0.17-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.17.tar.gz.

File metadata

  • Download URL: beancount_lsp-0.0.17.tar.gz
  • Upload date:
  • Size: 60.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","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.17.tar.gz
Algorithm Hash digest
SHA256 bec022d946d3123f43282d3877f851c150e8ac7b88af393bc756094c8abc3922
MD5 d720600bc82f81f7f5b2bcc2a5cbed81
BLAKE2b-256 484c7f3ab84b73e90698487e7d8807484adfaa4737f63f64ef8c036543a21215

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.17-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.26 {"installer":{"name":"uv","version":"0.11.26","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.17-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 89b4db1d5eff843a4cd5ed58bc0f7543d2d001146c2b4f83245b647aed6a06e1
MD5 2e031557f1fbe43f4e9eae39580a4c4c
BLAKE2b-256 7fa070c7fcfa85c7db517adc71bdcda6cfdf16089974db6d4bf65160d023ac3b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.17-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.26 {"installer":{"name":"uv","version":"0.11.26","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.17-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 38d26933a46e1c195f904b42ca1adf7d29785a50fb6cefdca9e1d5b76b777636
MD5 91544e16ba7e6c396c767be4e0498006
BLAKE2b-256 ae659550056459710129615acadbc70c215cfbbc69b1b1d2487f725848284ce5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.17-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.26 {"installer":{"name":"uv","version":"0.11.26","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.17-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d0808be2a7599a6ea9ef6f2dc945ca05523ad129d7a13b0b2a8a6039c17ead5
MD5 ccd972c0361bc351ab25cd863a0f1e16
BLAKE2b-256 c22ef0e0c839bda07b04754554b1950bfa5c1eaa4f36466b64d299997cff9af6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.17-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.11.26 {"installer":{"name":"uv","version":"0.11.26","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.17-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f8053cc33d9861cd4e1d6ee2468bf055c143a3cbb5270e7bf9c82aafb38d25f8
MD5 6934cd4a4308206f5212498e95bc6434
BLAKE2b-256 2b2af1f9726c7151289350578d12f62f7ceb711f465e4299ce3902f2dc1115b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.17-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.26 {"installer":{"name":"uv","version":"0.11.26","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.17-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c3f6da704b4230da010b996884f8ac9bec028f147b86c7f886c6a4f840482c79
MD5 7e2ccf94be073c350127868218fe57b9
BLAKE2b-256 71c0242e1abd52ac98ca51680d03f21f23ce0f8405f3f541bfba4dac844391d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beancount_lsp-0.0.17-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.26 {"installer":{"name":"uv","version":"0.11.26","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.17-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cff120375f60b354d6cfae2d8c1e575cce51f325ab8de4914b78343109fdb840
MD5 85e2bdb29e5c0c3a8fc1dace840d6d1f
BLAKE2b-256 dfdc2ce068650828c3c07c8bf1f26952238884845b2280655b191cf9370c2361

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