arkitekt-lsp
The Arkitekt language server. It shows what arkitekt check finds in your app, underlined in
the BSX of the blok it is about, in any editor that speaks LSP.
uv add --dev arkitekt-lsp # in the app's project: the server imports the app with its environment
The editor starts arkitekt-lsp (stdio) from that environment. Then:
- on save of a Python file it runs
arkitekt check --json-outfor the app the file belongs to, in a child process, and publishes every finding at its blok's string literal: the node's tag, or the line and column of a parse error. Findings follow their blok as the code moves; a blok edited since the check drops them until the next save, and is checked as you type; - as you type what its BSX says, against what the last check said the blok declares: its
deps.*,args.*and locals. A blok no check has seen yet is judged by the language alone, and a query's value always waits for the next save.
All of this is local: the server talks to nothing.
Who would satisfy your dependencies (--connect)
arkitekt-lsp --connect # or the setting arkitekt.server.connect
arkitekt-lsp --server https://my.hub # or arkitekt.server.url; the default is https://go.arkitekt.live
A flag overrides what the editor configures.
With the flag, the server also logs in, as an app of its own, with a token that can only read
(rekuest_read). It registers no agent. For each dependency protocol your app declares it asks who
would satisfy it, nothing registered, so a protocol you just wrote is asked about on save:
- above the protocol, a count:
3 agents · 2 connected, and the slots nobody offers; - a warning (information, for an optional one) when too few do. Never an error: what is missing may simply not be running yet;
- on hover of the protocol, or of
deps.<key>in a blok, the agents and the count per slot.
A login nobody approves or a server that is gone leaves the server local, and says so.
Which app: the saved file when it declares one (App(), else the arkitekt.target setting, else
the project's default (ARKITEKT_APP, or app.py). A project is the nearest directory with a
pyproject.toml.
Settings (initialization options, or workspace/didChangeConfiguration under arkitekt):
check.onSave (default true), check.timeout (seconds, default 120), target.
Besides the standard protocol it answers bsx/regions ({textDocument: {uri}} →
{regions: [{start, end, value, root, context, kind, exact}]}), the blok literals of a document,
which the VS Code extension uses to complete BSX inside Python strings. It notifies
arkitekt/status ({state: checking|ok|failed, app, errors?, warnings?, message?}) and takes the
notification arkitekt/check ({textDocument: {uri}}) to check now.
Metadata
Release files for arkitekt-lsp 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| arkitekt_lsp-1.0.0.tar.gz | 23.2 kB | Without provenance | Details for arkitekt_lsp-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| arkitekt_lsp-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for arkitekt_lsp-1.0.0-py3-none-any.whl |
Total release size: 49.9 kB
Release files / arkitekt_lsp-1.0.0.tar.gz
| Download URL | arkitekt_lsp-1.0.0.tar.gz |
|---|---|
| Size | 23.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fac9f3af1387fc44f6b6a470e8000ce661bc1dde24a600e0b533c2f13371d7d4
|
|
BLAKE2b-256 checksum How to use checksums |
dcc72a673fcd24acd88e0f98aca5d1885414984049fef748984256b970f5a793
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","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}
|
Release files / arkitekt_lsp-1.0.0-py3-none-any.whl
| Download URL | arkitekt_lsp-1.0.0-py3-none-any.whl |
|---|---|
| Size | 26.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6af12e15555a68cc9bf8b0b273a243ebb495ac66a8d4bc4a688016fa6334d80c
|
|
BLAKE2b-256 checksum How to use checksums |
5871a1bd77f48259e244e3d841c6dd24f5723aab97d65cd74b2ca5d38749c2f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","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}
|
Security for arkitekt-lsp 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.