The Language Provider Protocol (LPP) is a versioned protocol that lets tools such as Wright, editors, and agents talk to language-provider processes. A provider exposes diagnostics, symbol queries, compilation, and source edits for one language over JSON-RPC, without sharing its internal AST.
opy-rs ships opy-provider, the
LPP provider Wright uses for OverPy. The spec covers protocol versions 1.0
to 1.7.
-
Read the specification. It is enough to build a provider.
-
Run the protocol-scope conformance scenarios against your provider:
cargo build --release --bin lpp-conformance-runner ./target/release/lpp-conformance-runner --provider ./your-provider --fixtures conformance/fixtures/v1 --scope protocol
The
semanticsscenarios target the bundled mock provider.
See conformance/README.md for details. Passing
conformance shows the protocol is handled correctly, not that the underlying
compiler supports every language feature.
See docs/README.md for the specification index and
architecture decisions.
Read AGENTS.md first.
MIT. Providers built on LPP may use any license.