Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Environment:Microsoft Agent framework Core Package Dependencies

From Leeroopedia
Knowledge Sources
Domains Infrastructure, AI_Agents
Last Updated 2026-02-11 16:45 GMT

Overview

Core Python package dependencies with version constraints for the agent-framework-core package and its optional provider sub-packages.

Description

The Microsoft Agent Framework uses a monorepo structure with multiple packages. The core package (`agent-framework-core`) contains all fundamental abstractions (Agent, Tool, ChatClient, Workflow). Each provider integration (OpenAI, Azure AI, Anthropic, Bedrock, Ollama) and feature extension (orchestrations, declarative, durabletask) is a separate package with its own dependency set. The core package has strict version constraints to ensure compatibility across the ecosystem. Dependency conflicts between sub-packages are resolved via overrides in the root `pyproject.toml`.

Usage

Use this environment when installing any Agent Framework package. The core dependencies are always required. Provider-specific dependencies are only required when using that specific provider. For lightweight production deployments, install only the specific sub-package you need (e.g., `agent-framework-azure-ai`) rather than the full `agent-framework-core[all]`.

System Requirements

Category Requirement Notes
Python >= 3.10 See Environment:Microsoft_Agent_framework_Python_3_10_Runtime
Disk ~200MB for core + one provider Full install with all providers requires more
Network PyPI access For package installation

Dependencies

Core Package

  • `typing-extensions` (no version constraint)
  • `pydantic` >= 2, < 3
  • `pydantic-settings` >= 2, < 3
  • `opentelemetry-api` >= 1.39.0
  • `opentelemetry-sdk` >= 1.39.0
  • `opentelemetry-semantic-conventions-ai` >= 0.4.13
  • `openai` >= 1.99.0
  • `azure-identity` >= 1, < 2
  • `azure-ai-projects` >= 2.0.0b3
  • `mcp[ws]` >= 1.24.0, < 2
  • `packaging` >= 24.1

Provider Packages

  • Anthropic: `anthropic` >= 0.70.0, < 1
  • Azure AI: `azure-ai-agents` == 1.2.0b5, `aiohttp`
  • AWS Bedrock: `boto3` >= 1.35.0, < 2.0.0; `botocore` >= 1.35.0, < 2.0.0
  • Claude: `claude-agent-sdk` >= 0.1.25
  • Ollama: `ollama` >= 0.5.3
  • Foundry Local: `foundry-local-sdk` >= 0.5.1, < 1
  • GitHub Copilot: `github-copilot-sdk` >= 0.1.0

Feature Packages

  • Declarative: `pyyaml` >= 6.0, < 7.0; `powerfx` >= 0.0.31 (Python < 3.14 only)
  • Orchestrations: (depends on core only)
  • DurableTask: `durabletask` >= 1.3.0; `durabletask-azuremanaged` >= 1.3.0; `python-dateutil` >= 2.8.0
  • Redis: `redis` >= 6.4.0; `redisvl` >= 0.8.2; `numpy` >= 2.2.6
  • Mem0: `mem0ai` >= 1.0.0

Dependency Overrides (Conflict Resolution)

  • `uvicorn` == 0.38.0 (conflict: litellm[proxy] < 0.30.0 vs tau2 needs >= 0.34.0)
  • `websockets` == 15.0.1 (conflict between litellm[proxy] and mcp)
  • `grpcio` >= 1.76.0 on Python 3.14; >= 1.62.3, < 1.68.0 on Python < 3.14

Credentials

No credentials are required for package installation. See Environment:Microsoft_Agent_framework_API_Credentials for runtime credentials.

Quick Install

# Production - install only what you need
pip install agent-framework-core --pre

# With a specific provider
pip install agent-framework-azure-ai --pre
pip install agent-framework-anthropic --pre

# Full install with all providers and features
pip install agent-framework-core[all] --pre

# Development setup (from source)
uv sync --dev

Code Evidence

Core dependencies from `python/packages/core/pyproject.toml:25-40`:

dependencies = [
    "typing-extensions",
    "pydantic>=2,<3",
    "pydantic-settings>=2,<3",
    "opentelemetry-api>=1.39.0",
    "opentelemetry-sdk>=1.39.0",
    "opentelemetry-semantic-conventions-ai>=0.4.13",
    "openai>=1.99.0",
    "azure-identity>=1,<2",
    "azure-ai-projects >= 2.0.0b3",
    "mcp[ws]>=1.24.0,<2",
    "packaging>=24.1",
]

Dependency overrides from `python/pyproject.toml:57-68`:

[tool.uv.override-dependencies]
# Conflict resolution: litellm[proxy] < 0.30.0 vs tau2 needs uvicorn >= 0.34.0
uvicorn = "==0.38.0"
websockets = "==15.0.1"

PowerFx Python version constraint from `python/packages/declarative/pyproject.toml:26`:

"powerfx>=0.0.31; python_version < '3.14'"

Common Errors

Error Message Cause Solution
`pydantic.errors.PydanticImportError` Pydantic v1 installed instead of v2 `pip install pydantic>=2,<3`
`ImportError: cannot import name 'OpenAIResponsesClient'` openai package too old `pip install openai>=1.99.0`
`ModuleNotFoundError: No module named 'powerfx'` PowerFx not installed or Python 3.14+ Install `powerfx>=0.0.31` on Python < 3.14
`grpcio version conflict` Wrong grpcio for Python version Check override: >= 1.76.0 for Python 3.14, >= 1.62.3 for earlier
`websockets version conflict` Conflict between litellm and mcp Pin `websockets==15.0.1`

Compatibility Notes

  • Pydantic v1 vs v2: The framework requires Pydantic v2. Pydantic v1 is not supported. Projects using v1 must migrate.
  • OpenAI SDK: Requires >= 1.99.0 which uses the Responses API. Earlier versions use the legacy Completions API.
  • PowerFx: Only available on Python < 3.14. On 3.14+, PowerFx expressions in declarative workflows fall back to literal strings.
  • Pre-release Packages: Many dependencies are in beta. The `--pre` flag is required for pip installation. uv handles this via `prerelease = "if-necessary-or-explicit"`.
  • MCP: The `mcp[ws]` extra includes WebSocket support required for MCP tool connections.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment