Looks like Python.
Compiles like Rust.
Frontier coding models score highest on Python (HumanEval, LiveCodeBench, SWE-bench Verified). lpy looks like Python so they can write it, and rustc compiles it. You get LLVM, crates.io, and about 31% less output than the same programs in Rust.
Install
The toolchain is the lpy CLI plus rustc. This page serves it:
That writes lpy.toml, main.lpy, AGENTS.md, and lpy.json. rustc (and cargo if you add crates) still need to be on PATH — rustup, or nix shell nixpkgs#rustc nixpkgs#cargo.
What you actually spend
At $15 per million output tokens, ten agents writing 8k tokens of Rust twenty times a task, forty tasks a day, is about $21k/month. The same work in lpy is about $15k. Edit the fields if your usage is different.
Playground
Same routes an agent uses. Check = rustc. Expand = generated Rust. Run needs def main().
Give this to your agent
No training. Tell it to write .lpy, GET /llms.txt, and POST source at HOST. Models are already good at Python. rustc does the checking.
Same CLI as Install. After curl … | sh -s -- --new ./myapp, point the agent at that folder.
tack
A reasoning format for any coding agent. Separate from lpy — use one, the other, or both.
Give the agent /tack.md. English in, English out. Internal notes use short sequent marks instead of paragraphs. That is the save: thinking tokens, not the files it writes. Replies stay English. Code stays whatever the repo already uses.
? rain wet wet <- rain | sprinkler | leak ~ sprinkler ~ leak |- rain .
Paste the spec into Claude, Cursor, Grok, or any agent. It only shortens thinking if the agent actually follows it — a project rule, system prompt, or paste of /tack.md.
What you get
It uses Python syntax so models can write it. rustc builds a native binary. Libraries come from crates.io. Compile with lpy build.