Demo projects for openarmature — a workflow framework for LLM pipelines and tool-calling agents.
Use case: Take a topic (e.g. "the psychology of long walks") and produce a short written piece — first plan a few angles, then write the article.
Demonstrates: The minimal graph shape — typed State, the append reducer, static edges, END, a two-node linear plan → write pipeline.
Use case: A question-answering assistant. Classify the question, then either give a one-shot quick answer or run a multi-step research sub-pipeline (plan angles → gather notes → synthesize), then lightly copy-edit the result.
Demonstrates: Conditional edges (state-driven routing) via add_conditional_edge, subgraph composition via add_subgraph_node, a custom ProjectionStrategy for the parent ↔ subgraph boundary, and the merge reducer for dict accumulation.
Use case: Compare two topics ("rust vs go", "espresso vs drip coffee") by running the same analysis subgraph on each, then synthesizing a verdict.
Demonstrates: One compiled subgraph reused at two parent sites with per-site ExplicitMapping — the case spec v0.2 / proposal 0002 was written for, and the only way to express "run the same subgraph twice on disjoint parent fields" without per-site projection classes that mirror each other.
Each project depends on openarmature via an editable path dep to a sibling clone of the library:
~/code/
├── openarmature-python/
└── openarmature-examples/
├── 01-linear-pipeline/
└── 02-routing-and-subgraphs/Clone both repos as siblings, then:
cd openarmature-examples/01-linear-pipeline
uv sync
uv run python main.py "the psychology of long walks"Both demos expect an OpenAI-compatible LLM endpoint at http://localhost:8000/v1 (vLLM, LM Studio, etc.). Edit VLLM_BASE_URL and MODEL at the top of each main.py to point elsewhere.
Apache-2.0 — same as openarmature-python. See LICENSE.