# BAML

> Apache-2.0 typed DSL for LLM functions — schema-guaranteed outputs

**Category:** AI Agents  
**Pricing:** open-source  
**URL:** https://www.boundaryml.com  
**GitHub:** https://github.com/BoundaryML/baml  
**Added:** 2026-09-29

---

## The Hook

BAML is a small Apache-2.0 language for LLM calls — define functions and schemas, get typed outputs in Python/TS/Go instead of prompt soup and brittle JSON parse.

## What's Good

Apache-2.0 (BoundaryML/baml). DSL + codegen for structured LLM functions with schema-guaranteed outputs, streaming, and multi-provider backends. Docs at docs.boundaryml.com; playground and VS Code tooling. Cloud/Boundary product is optional — language and runtime are OSS. ★9,350 on GitHub 2026-09-29.

## The Catch

Vs Instructor / PydanticAI / Vercel AI SDK structured outputs: those stay inside Python/TS; BAML is a separate DSL + compiler you adopt for schema-first agent I/O. Pre-1.0 energy — APIs and tooling still move; Boundary Cloud pricing is a separate lane from the Apache core.

## Verdict

Apache-2.0 schema-first LLM DSL when typed agent I/O beats prompt+parse — not Instructor-in-Python, not a hosted-only agent platform.
