Environment:Microsoft Agent framework Core Package Dependencies
| 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.