Agent Framework Core

Microsoft's core Python package for building and orchestrating production-grade AI agents

Framework
PyPI
v1.14.0
12,889stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
89/100Excellent
Development Activity100
Maintenance100
Community76
Maturity40
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
79/100Good
Architecture85
Code Quality84
Innovation80
Learning Curve65

Agent Framework Core is the core package of Microsoft Agent Framework (MAF), an open, multi-language framework for building production-grade AI agents and multi-agent workflows in Python and .NET. It provides the primary abstractions — agents, chat clients, tools, sessions, middleware, observability, and workflow orchestration — that the thin agent-framework umbrella package and every optional provider integration (Azure, OpenAI, Anthropic, Bedrock, Gemini, Mem0, Redis, and more) build on.

The package exposes a lazily-resolved public API so import agent_framework stays lightweight, and it bundles a devui component, declarative workflow support, and A2A/AG-UI protocol integrations. It underlies Microsoft’s guidance for taking agents from prototype to production while supporting Microsoft Foundry, Azure OpenAI, OpenAI, and the GitHub Copilot SDK, among other ecosystems.

What You Get

  • Core agent and chat-client abstractions for building conversational and tool-using AI agents
  • A workflow orchestration layer for composing multi-agent and multi-step agentic processes
  • Middleware and observability hooks (OpenTelemetry-based) for instrumenting agent behavior in production
  • Built-in integrations for major model providers and platforms (OpenAI, Azure OpenAI, Anthropic, Bedrock, Gemini, Ollama) available as optional extras
  • Protocol integrations for A2A (agent-to-agent) and AG-UI, plus a devui component for local agent development
  • Declarative workflow support for defining agent workflows outside of pure Python code

Common Use Cases

  • Building a single conversational AI agent with tool-calling against Azure OpenAI or OpenAI models
  • Orchestrating a multi-agent workflow where specialized agents hand off tasks to one another
  • Instrumenting agent runs with OpenTelemetry-based observability for production monitoring
  • Prototyping agent behavior locally with the devui component before deploying to Microsoft Foundry
  • Standardizing on a single agent abstraction that can swap between OpenAI, Anthropic, Bedrock, or Gemini backends

Under The Hood

Architecture The package lives at python/packages/core inside the microsoft/agent-framework monorepo, with the top-level agent_framework/__init__.py lazily resolving most public exports to keep a bare import agent_framework lightweight, while dedicated subpackages (agent_framework/azure, openai, anthropic, google, amazon, redis, mem0, _workflows, orchestrations, a2a, ag_ui, devui, declarative) implement each provider integration, workflow engine, and protocol adapter as an isolated module. Tech Stack Python 3.10+ built on Pydantic 2 for typed data models, OpenTelemetry for observability instrumentation, python-dotenv for configuration, and typing-extensions; the wider repository is a uv-managed Python/.NET polyglot monorepo with 30+ sibling packages under python/packages/ (a2a, azure-ai-search, bedrock, chatkit, copilotstudio, foundry, mistral, purview, and more) that all depend on this core package. Code Quality The tests/core and tests/workflow directories provide dedicated coverage for the agent and orchestration layers, the project enforces typing via Typing :: Typed classification plus pyright/pyrefly/ty configs checked into the repo, and a PACKAGE_STATUS.md file explicitly tracks the maturity of each sub-package, reflecting active, deliberate release management across a large surface area. API Design The framework standardizes agent and chat-client interfaces across every model provider integration, so switching from OpenAI to Azure OpenAI or Anthropic is largely a configuration change rather than a rewrite, though the framework’s breadth (workflows, middleware, multiple protocols) means there is a real learning curve before newcomers use more than the basic agent/tool pattern.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search