{"id":35428778,"url":"https://github.com/run-llama/llama-agents","last_synced_at":"2026-04-22T20:01:47.572Z","repository":{"id":299870455,"uuid":"995990429","full_name":"run-llama/llama-agents","owner":"run-llama","description":"Llama Agents + Workflows are an event-driven, async-first, step-based way to control the execution flow of AI applications like agents.","archived":false,"fork":false,"pushed_at":"2026-04-16T18:51:12.000Z","size":15310,"stargazers_count":346,"open_issues_count":10,"forks_count":61,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-16T20:35:06.154Z","etag":null,"topics":["agentic-ai","agentic-framework","agentic-rag","agentic-workflow","agents","ai","event-driven","orchestration"],"latest_commit_sha":null,"homepage":"https://www.llamaindex.ai/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/run-llama.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-06-04T09:47:51.000Z","updated_at":"2026-04-16T18:47:16.000Z","dependencies_parsed_at":"2025-06-19T08:26:44.826Z","dependency_job_id":"f70af06e-80d6-4ca9-b278-2d899da19617","html_url":"https://github.com/run-llama/llama-agents","commit_stats":null,"previous_names":["run-llama/workflows","run-llama/workflows-py","run-llama/llama-agents"],"tags_count":183,"template":false,"template_full_name":null,"purl":"pkg:github/run-llama/llama-agents","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/run-llama%2Fllama-agents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/run-llama%2Fllama-agents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/run-llama%2Fllama-agents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/run-llama%2Fllama-agents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/run-llama","download_url":"https://codeload.github.com/run-llama/llama-agents/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/run-llama%2Fllama-agents/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32152607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T17:06:48.269Z","status":"ssl_error","status_checked_at":"2026-04-22T17:06:19.037Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-ai","agentic-framework","agentic-rag","agentic-workflow","agents","ai","event-driven","orchestration"],"created_at":"2026-01-02T20:00:34.948Z","updated_at":"2026-04-22T20:01:47.565Z","avatar_url":"https://github.com/run-llama.png","language":"Python","funding_links":[],"categories":["Automation","Other LLM Frameworks","Python"],"sub_categories":["Videos Playlists"],"readme":"# LlamaAgents\n\n[![Unit Testing](https://github.com/run-llama/workflows/actions/workflows/test.yml/badge.svg)](https://github.com/run-llama/workflows/actions/workflows/test.yml)\n[![Coverage Status](https://coveralls.io/repos/github/run-llama/workflows/badge.svg?branch=main)](https://coveralls.io/github/run-llama/workflows?branch=main)\n[![GitHub contributors](https://img.shields.io/github/contributors/run-llama/workflows)](https://github.com/run-llama/llama-index-workflows/graphs/contributors)\n\n\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/llama-index-workflows)](https://pypi.org/project/llama-index-workflows/)\n[![Discord](https://img.shields.io/discord/1059199217496772688)](https://discord.gg/dGcwcsnxhU)\n[![Twitter](https://img.shields.io/twitter/follow/llama_index)](https://x.com/llama_index)\n[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/LlamaIndex?style=plastic\u0026logo=reddit\u0026label=r%2FLlamaIndex\u0026labelColor=white)](https://www.reddit.com/r/LlamaIndex/)\n\nAn open-source framework for building and shipping document-centric agents in Python.\n\nDocument workflows are messy. You're stitching together OCR, LLMs, structured extraction, classification, custom validation, and human review into pipelines that have to run reliably in production. The steps are slow and the payloads are heavy. A lot of the work is in-process Python: embedding models, image analysis, vision calls, custom heuristics that don't want to be a microservice. Standing up durable orchestration for that kind of workload is a project on its own, so most teams end up shoving the pipeline into a side process nobody else wants to integrate with.\n\nLlamaAgents is built on [**Agent Workflows**](https://developers.llamaindex.ai/python/llamaagents/workflows/), an event-driven orchestration library where steps are async Python functions that emit and consume events. Branch, loop, parallelize, persist state, recover from failures, all in plain Python with no DSL.\n\n## Grows with you\n\nDocument workloads have a wide range of shapes. Sometimes you're parsing five contracts in a notebook to prove a point. Others you're running a million invoices a month behind a customer's firewall, or you're iterating on extraction quality and shipping a new version every day. Agent Workflows is built to follow you across all of that without a rewrite.\n\nStart as a function you call from a script. Wrap it in a server when you need an API. Connect a coordination backend when you need durability. Turn on replication when you need to scale.\n\nAnd because it's a library at its core, the same workflow code drops into wherever the work has to actually run: a notebook for prototyping, a FastAPI app for your product, or a customer's locked-down environment when their documents can't leave it.\n\nFor more ideas of what it can do, take a look at [the examples](https://github.com/run-llama/llama-agents/tree/main/examples).\n\n## Use it as a library\n\nThe simplest path. `pip install llama-index-workflows`, define your workflow, and `await workflow.run(...)`. It has minimal dependencies and embeds anywhere: scripts, notebooks, servers. Durability is pluggable too: save and resume runs from a file, or connect to a database.\n\n```python\nfrom workflows import Workflow, step\nfrom workflows.events import StartEvent, StopEvent\n\nclass HelloWorkflow(Workflow):\n    @step\n    async def greet(self, ev: StartEvent) -\u003e StopEvent:\n        return StopEvent(result=f\"Hello, {ev.name}\")\n```\n\nSee the [`llama-index-workflows` package](https://github.com/run-llama/llama-agents/tree/main/packages/llama-index-workflows) for more details.\n\n## Mount it inside an app you already have\n\n[`llama-agents-server`](https://developers.llamaindex.ai/python/llamaagents/workflows/deployment/) wraps any workflow as a REST API with streaming, persistence, and human-in-the-loop support. Drop it into an existing Starlette/FastAPI app, or run it standalone. [`llama-agents-client`](https://developers.llamaindex.ai/python/llamaagents/workflows/client/) is the matching async client for calling workflows from other services.\n\n```python\nfrom llama_agents.server import WorkflowServer\n\nserver = WorkflowServer()\nserver.add_workflow(\"greet\", HelloWorkflow())\n```\n\nSee the [`llama-agents-server` package](https://github.com/run-llama/llama-agents/tree/main/packages/llama-agents-server) and the [`llama-agents-client` package](https://github.com/run-llama/llama-agents/tree/main/packages/llama-agents-client) for more details.\n\n## Or ship it as a deployable agent\n\n[`llamactl`](https://developers.llamaindex.ai/python/llamaagents/llamactl/getting-started/) is the CLI for building and deploying agent apps end-to-end. Init from a starter, develop locally with hot reload, then deploy to LlamaParse, AWS Bedrock AgentCore, or your own infra. Agents can be headless workflow services, MCP servers, or full-stack apps with a UI.\n\n```bash\nuv tool install llamactl\nllamactl init\nllamactl serve\nllamactl deployments create\n```\n\nSee the [`llamactl` package](https://github.com/run-llama/llama-agents/tree/main/packages/llamactl) for more details.\n\n## Works with [LlamaParse](https://developers.llamaindex.ai/python/cloud/)\n\nThe heavy document primitives (OCR, structured extraction, classification, splitting) are what LlamaParse is for. Plug them into your workflow as steps, let LlamaParse handle the document understanding, and keep your agent code focused on orchestration, business logic, and review.\n\nCheck out our [prebuilt templates with llamactl](https://developers.llamaindex.ai/python/llamaagents/llamactl/agent-templates/) to get started.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frun-llama%2Fllama-agents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frun-llama%2Fllama-agents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frun-llama%2Fllama-agents/lists"}