Open Source
BAML
by Boundary
A typed language for LLM functions. Define inputs, outputs, and prompts, get reliable structured output.
Our verdict
We have not reviewed BAML yet
No one at Enterprise DNA has checked this listing against its sources. The description comes from public listings gathered automatically. Any fact below shows where it came from and when it was last checked.
From the listing
About BAML
BAML is a domain-specific language for LLM functions. Define your input and output types, write the prompt, and BAML generates typed client code in the language of your choice. The result is LLM calls that act like regular functions, with first-class testing, observability, and provider-agnostic deploy.
Best for
Teams who want LLM calls to feel like real typed functions
Use cases
- Define LLM functions once, use them from any language
- Get typed structured output with strong validation
- Run evals and tests on prompts the way you do on code
- Swap providers without rewriting the calling code
Notes
Why it matters
The promise is appealing: LLM calls as typed, testable, language-agnostic functions. BAML is the clearest articulation of that vision shipping today.
How teams use it in production
Define LLM functions in BAML, generate clients, call them like regular typed functions from your app. Run evals against test cases in CI like any other code change.
What to watch
Whether a DSL is the right abstraction, or whether annotated typed functions in the host language (Instructor, structured-output SDKs) win. The argument is live.
Pros
- Truly cross-language, generate clients in Python, TS, Ruby
- Strong VSCode tooling with prompt previews
- Test and eval as first-class citizens
- Provider-agnostic deploy, no SDK lock-in
Cons
- Learning a new DSL is a real adoption cost
- Smaller community than Instructor
- Less drop-in than patching an existing SDK
Key facts
What we have checked
- Latest prerelease version
- baml-language-0.23.1-nightly.20261026.a
- GitHub stars
- 9,299
Each value shows when we last confirmed it and where it came from. Values we have not confirmed are left out, never guessed.
Alternatives
Alternatives to BAML
| Record | Type | How we know | Checked |
|---|---|---|---|
| GuidanceThis is an alternative to it | Open source | Named in the listing | Not dated |
| OutlinesThis is an alternative to it | Open source | Named in the listing | Not dated |
Compare
Compare BAML side by side
Sources
Where this comes from
- GitHubOfficial
- github api via nightly crawl, recovered from git history 20e874270887c1008f860ee0198e461a23c9e438Registry
A source shows what was published when we checked it. It does not certify security, performance or a working installation. Read our method.
Changelog
What changed
Released baml-language-0.23.1-nightly.20261026.a
Released baml-language-0.23.1-nightly.20261025.a
Released baml-language-0.23.0
Released baml-language-0.22.3-nightly.20261024.a
Released baml-language-0.22.3-nightly.20261023.a
Released baml-language-0.22.3-nightly.20261022.a
Released baml-language-0.22.3-nightly.20261021.a
Released baml-language-0.22.3-nightly.20261020.a
Released baml-language-0.22.3-nightly.20261019.a
Released baml-language-0.22.3-nightly.20261018.a
Released baml-language-0.22.3-nightly.20261016.a
Released baml-language-0.22.3-nightly.20261014.a
Released baml-language-0.22.3-nightly.20261013.b
Released baml-language-0.22.3-nightly.20261013.a
Open-source & AI alternatives
Swap-in tools that solve the same job. Weigh the trade-offs before you commit.
Get the free Developer’s Field Guide
A 27-page field guide to the AI coding workflow with Claude. Claude Code, MCP servers, the prompt patterns that work, and what to delegate. Free.
Enter your work email. We send it straight over, plus a few short notes worth knowing. Unsubscribe any time.