---
title: "baml vs agency"
type: "comparison"
canonical_url: "https://www.graphcanon.com/compare/boundaryml-baml-vs-operand-agency"
tools: ["boundaryml-baml", "operand-agency"]
---

# baml vs agency

*GraphCanon updated Sep 20, 2026*

## Verdict

Pick baml if bAML is a robust, statically-typed programming language designed for agent development with strong focus on error minimization through type safety and static analysis; pick agency if agency is a fast and minimal Python-based framework for developing agentic systems that excels in its streamlined approach to creating autonomous agents.

[baml](https://boundaryml.com/explore) reports 9.2k GitHub stars, 492 forks, and 339 open issues, last pushed Sep 11, 2026. [agency](https://createwith.agency) has 490 stars, 29 forks, and 19 open issues, last pushed Jun 10, 2026. Figures are from public GitHub metadata via [baml's repository](https://github.com/BoundaryML/baml) and [agency's repository](https://github.com/operand/agency).

| | [baml](/tools/boundaryml-baml.md) | [agency](/tools/operand-agency.md) |
| --- | --- | --- |
| Tagline | Programming language for agents | A fast and minimal framework for building agentic systems |
| Stars | 9,165 | 490 |
| Forks | 492 | 29 |
| Open issues | 339 | 19 |
| Language | Rust | Python |
| Adopt for | BAML is a robust, statically-typed programming language designed for agent development with strong focus on error minimization through type safety and static analysis. | Agency is a fast and minimal Python-based framework for developing agentic systems that excels in its streamlined approach to creating autonomous agents. |
| Persona | - | - |
| Runtime | - | - |
| License | Apache-2.0 | MIT |
| Categories | AI Agents, Developer Tools | AI Agents |

## Trust and health

_Sourced signals - not a safety guarantee. No winner column._

| | [baml](/tools/boundaryml-baml.md) | [agency](/tools/operand-agency.md) |
| --- | --- | --- |
| Maintenance | Very active (96%) | Slowing (36%) |
| Days since push | 0d | 101d |
| Open issues (now) | 339 | 19 |
| Stars delta | +318 (30d) | +3 (30d) |
| Open issues delta | +36 (30d) | 0 (30d) |
| Owner type | Organization | User |
| Full report | [trust report](/tools/boundaryml-baml/trust.md) | [trust report](/tools/operand-agency/trust.md) |

## Decision facts: baml

- **Adopt for:** BAML is a robust, statically-typed programming language designed for agent development with strong focus on error minimization through type safety and static analysis.

## Decision facts: agency

- **Adopt for:** Agency is a fast and minimal Python-based framework for developing agentic systems that excels in its streamlined approach to creating autonomous agents.

## Choose when

### Choose baml if…

- baml is primarily Rust; agency is Python.
- License: baml is Apache-2.0, agency is MIT.
- Tags unique to baml: boundaryml, guardrails, llm, programming-language.
- Also covers Developer Tools.
- When you need a language that keeps types consistent at runtime and avoids the use of generic 'any' types.

### Choose agency if…

- agency is primarily Python; baml is Rust.
- License: agency is MIT, baml is Apache-2.0.
- Tags unique to agency: actor-model, agent-framework, autonomous-agents.
- When you prefer a lightweight solution for building autonomous agent systems without the need for extensive configuration or complex dependencies.

## When NOT to use baml

- If your project requires dynamic typing or runtime flexibility not constrained by strict type definitions.
- In cases preferring other language-specific concurrency models that BAML doesn't support, favoring a different approach to parallelism might be necessary.

## When NOT to use agency

- If your development requires deeply integrated functionalities that would necessitate a heavier, more feature-rich framework.
- In scenarios where you need robust tooling for large-scale deployment and management as Agency does not offer extensive LLMOps (LLM Operations) capabilities beyond its minimalistic design.

## Common questions

### What is the difference between baml and agency?

baml: Programming language for agents. agency: A fast and minimal framework for building agentic systems. See the comparison table for live GitHub stats and shared categories.

### When should I choose baml over agency?

Choose baml over agency when baml is primarily Rust; agency is Python; License: baml is Apache-2.0, agency is MIT; Tags unique to baml: boundaryml, guardrails, llm, programming-language; Also covers Developer Tools; When you need a language that keeps types consistent at runtime and avoids the use of generic 'any' types.

### When should I choose agency over baml?

Choose agency over baml when agency is primarily Python; baml is Rust; License: agency is MIT, baml is Apache-2.0; Tags unique to agency: actor-model, agent-framework, autonomous-agents; When you prefer a lightweight solution for building autonomous agent systems without the need for extensive configuration or complex dependencies.

### When should I avoid baml?

If your project requires dynamic typing or runtime flexibility not constrained by strict type definitions. In cases preferring other language-specific concurrency models that BAML doesn't support, favoring a different approach to parallelism might be necessary.

### When should I avoid agency?

If your development requires deeply integrated functionalities that would necessitate a heavier, more feature-rich framework. In scenarios where you need robust tooling for large-scale deployment and management as Agency does not offer extensive LLMOps (LLM Operations) capabilities beyond its minimalistic design.

### Is baml or agency more popular on GitHub?

baml has more GitHub stars (9,165 vs 490). Stars measure visibility, not whether either tool fits your constraints.

### Are baml and agency open source?

Yes - both are open-source projects on GitHub (baml: Apache-2.0, agency: MIT).

### Where can I find alternatives to baml or agency?

GraphCanon lists graph-backed alternatives at [baml alternatives](/tools/boundaryml-baml/alternatives) and [agency alternatives](/tools/operand-agency/alternatives) ([baml markdown twin](/tools/boundaryml-baml/alternatives.md), [agency markdown twin](/tools/operand-agency/alternatives.md)), ranked by typed relationship edges rather than popularity votes.

### Is there a machine-readable version of this comparison?

Yes. The markdown twin at [this comparison](/compare/boundaryml-baml-vs-operand-agency.md) mirrors this page for agents and LLM crawlers, with the same stats table and FAQ answers.

### Which is better maintained, baml or agency?

baml: Very active. agency: Slowing. Compare maintenance labels, days since push, and release cadence in the trust section below - stars alone do not measure maintenance.

### Where are the full trust reports for baml and agency?

GraphCanon publishes per-repo trust reports with dated maintenance, provenance, and scan summaries: [baml trust report](/tools/boundaryml-baml/trust); [agency trust report](/tools/operand-agency/trust).

---

**Machine-readable endpoints**

- JSON: [`/api/graphcanon/graph?tool=boundaryml-baml`](/api/graphcanon/graph?tool=boundaryml-baml)
- LLM index: [/llms.txt](/llms.txt)
- Full corpus: [/llms-full.txt](/llms-full.txt)

_GraphCanon - The knowledge graph for AI development. https://www.graphcanon.com/_
