AI and models · Edition No. 32 · 26 Sep 2026

BoundaryML/baml

'The programming language for agents' — a DSL for LLM prompts, functions and tools.

← AI and modelsRead the whole edition →

9.2k stars · Apache-2.0 · baml-language-0.18.1-nightly.20260905.a (2026-09-06) · Track this in Scout

'The programming language for agents' — a DSL for LLM prompts, functions and tools.

▶Repo detailsthe review · specs · pros & cons · install

What it is

BAML is a domain-specific language for defining model functions — the prompt, the input types and the output types — which then compiles into a client library for a normal programming language. It includes a testing interface so a prompt can be run against saved examples.

What it is good for. Anyone whose program depends on a model returning data rather than prose: pulling fields out of an invoice, classifying support messages, turning a description into a database record. The problem it removes is the pile of hand-written parsing and retry code that grows around every such call. It also makes prompts reviewable, because they sit in files instead of inside string variables.

Stars9.2k
LicenceApache-2.0
Latestbaml-language-0.18.1-nightly.20260905.a (2026-09-06)checked 7 Sep 2026
Written inRust
Good
  • Output is checked against a type, and a malformed answer is repaired or retried rather than handed to the program.
  • The same definition produces clients for Python, TypeScript, Go, C# and Java, so a team that uses two languages writes the prompt once.
  • Prompts live in version control as files with tests beside them. Changing one produces a diff somebody can read.
Watch for
  • It is a new language. Even a small one is a real cost: the editor plugin, the build step, and everybody on the team learning it.
  • The newest release on the project's own latest-release page is a nightly build, baml-language-0.20.2-nightly.20260925.a, dated 26 September 2026. The releases list page disagrees and shows August tags. Nightly builds as the headline release are a sign to pin a version carefully.
  • Every call still costs money at the model provider, and the retry behaviour means a bad prompt can cost more than a plain one. Watch the bill in the first week.
Similar repositories
  • 567-labs/instructor

    13,696 stars, covered in Edition 5; it solves the same problem with an ordinary Python library and Pydantic types, so there is no new language to learn and no build step.

    Track this in Scout
  • dottxt-ai/outlines

    15,882 stars, forces valid output by constraining what the model is allowed to generate; stronger guarantees on models you run yourself, less useful against a hosted provider.

    Track this in Scout
  • pydantic/pydantic-ai

    20,116 stars, a full agent framework from the Pydantic authors with typed results; a bigger thing to adopt, and Python only.

    Track this in Scout
Install
python3 -m venv venv
source venv/bin/activate
pip install baml-py
baml-cli init
baml-cli generate
Screenshots
BoundaryML/baml: GitHub preview card

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.