Open source Apache 2.0 Python 3.12+

Orchestrate AI agents
in YAML, run from your terminal

Telize is a low-code framework for agent-style pipelines: chain shell commands, file I/O, LLM calls, Python functions, and nested flows in one workflow file—validated before execution, with live progress in your terminal.

pip install telize
hello.yaml
config:
  model: qwen3.5:4b
  entrypoint: main

flows:
  main:
    steps:
      - name: greet
        uses: llm
        prompt: Say hello in one friendly sentence.
$ telize -f hello.yaml
greet — completed in 1.2s
"Hello! Great to meet you."
6 Step types
YAML Single-file workflows
Local Ollama-ready by default
Rich Live CLI progress

Features

Everything you need to ship agent workflows

Compose powerful automations without giving up control of your stack, data, or models.

YAML workflows

One file defines global config, named flows, and steps. Version control friendly and easy to review.

Composable steps

Mix input, llm, shell, python, flow, and yaml actions in any pipeline.

Jinja templating

Wire step outputs together with {{ steps.name.output }} and environment variables at load time.

Loops & sub-flows

Iterate LLM steps over split lists with loop, and compose pipelines with nested uses: flow steps.

Validated upfront

Pydantic models catch schema errors before any step runs. Use --validate-only in CI.

Rich CLI output

Progress bars, step panels, and clear errors—built on Rich for a polished terminal experience.

Architecture

How it works

From YAML file to executed pipeline in five clear stages.

  1. Telize loads your YAML and validates it against typed Pydantic models.
  2. The flow named in config.entrypoint runs first.
  3. Each step executes through a registered action handler.
  4. Later steps reference earlier outputs via Jinja templates.
  5. The CLI prints progress and results as the workflow runs.

Get started

Installation

Python 3.12+ required. Ollama (or compatible API) for LLM steps.

PyPI
pip install telize
From source
git clone https://github.com/telize-ai/telize.git
cd telize
uv sync
uv pip install -e .
Verify
telize --version

Quick start in 3 steps

1

Start Ollama & pull a model

ollama pull qwen3.5:4b
2

Create hello.yaml

config:
  model: qwen3.5:4b
  api_base_url: http://localhost:11434
  entrypoint: main

flows:
  main:
    steps:
      - name: greet
        uses: llm
        prompt: Say hello in one friendly sentence.
3

Run it

telize -f hello.yaml

Validate without running: telize -f hello.yaml --validate-only

Documentation

Workflow reference

Core schema at a glance. Full details in the README.

Top-level keys

KeyDescription
configGlobal settings: entrypoint, model, temperature, api_base_url, system_prompt
flowsNamed flows; config.entrypoint must match one key

Step actions (uses)

usesDescription
inputRead a file or directory (with glob include)
llmSend a prompt to the configured model; optional output_to, loop
shellRun run commands; optional envs (supports templates)
pythonCall call (module.function) with args
flowRun another flow via run
yamlRun an external workflow from file (own config); optional input map for the child

Templating

Load time

{{ env.VAR }} — expanded when the file is parsed

Runtime

{{ steps.<name>.output }}, {{ config.model }}, {{ item }} in loops

Chain shell output into an LLM step
- name: fetch_data
  uses: shell
  run: cat ./data.txt

- name: summarize
  uses: llm
  prompt: |
    Summarize this:
    {{ steps.fetch_data.output }}

CLI

usage: telize [-h] [--version] [-f FILE] [--validate-only]

options:
  -h, --help         show help
  --version          show version
  -f, --file FILE    path to workflow YAML
  --validate-only    parse and validate without running steps

Requirements

What you need

  • Python 3.12+ — typed, modern runtime
  • Ollama or compatible API for uses: llm (default http://localhost:11434)
  • uv — optional, recommended for development

Community

Contributing

Bug reports, documentation, and pull requests are welcome.

Development commands

uv sync
uv run pytest
uv run ruff check .
uv run ruff format .
uv run mypy

Ready to build your first workflow?

Install Telize, point it at a YAML file, and orchestrate agents under your control.