Updates third-party dev dependencies across the Python workspace and validates that all runtime dependency bounds still hold at both ends. Dev dependency bumps (root, lab, declarative, durabletask): - uv 0.11.6 -> 0.11.17, ruff 0.15.8 -> 0.15.15, pytest-asyncio 1.3.0 -> 1.4.0, mcp 1.27.0 -> 1.27.2, azure-monitor-opentelemetry 1.8.7 -> 1.8.8, poethepoet 0.42.1 -> 0.46.0, prek 0.3.9 -> 0.4.3, types-python-dateutil and types-PyYaml stub bumps. - Transitive Dependabot items swept via lock: idna 3.11 -> 3.17, pip 26.0.1 -> 26.1.2. Deliberately excluded: - opentelemetry-sdk stays 1.40.0: azure-monitor-opentelemetry (incl. 1.8.8) hard-pins opentelemetry-sdk==1.40. - mypy stays 1.20.0 and pyright stays 1.1.408: the 2.1.0 / 1.1.409 bumps introduce new diagnostics that fail type checking and need dedicated PRs. - rich kept as a range: agentlightning (lab[lightning]) forces rich==13.9.4. Code/formatting changes driven by the ruff upgrade: - devui lifespan now uses try/finally so shutdown cleanup always runs (ruff RUF075). - Removed unused TYPE_CHECKING imports in core and foundry flagged by ruff 0.15.15. - Reapplied ruff 0.15.15 formatting to the files it changed. Validation: validate-dependency-bounds-test "*" passes (31/31 lower + 31/31 upper); typing 62/62; lint 31/31; devui tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
AutoGen → Microsoft Agent Framework Migration Samples
This gallery helps AutoGen developers move to the Microsoft Agent Framework (AF) with minimal guesswork. Each script pairs AutoGen code with its AF equivalent so you can compare primitives, tooling, and orchestration patterns side by side while you migrate production workloads.
What's Included
Single-Agent Parity
- 01_basic_agent.py — Minimal AutoGen
AssistantAgentand AFAgentcomparison. - 02_agent_with_tool.py — Function tool integration in both SDKs.
- 03_agent_thread_and_stream.py — Session management and streaming responses.
- 04_agent_as_tool.py — Using agents as tools (hierarchical agent pattern) and streaming with tools.
Multi-Agent Orchestration
- 01_round_robin_group_chat.py — AutoGen
RoundRobinGroupChat→ AFGroupChatBuilder/SequentialBuilder. - 02_selector_group_chat.py — AutoGen
SelectorGroupChat→ AFGroupChatBuilder. - 03_swarm.py — AutoGen Swarm pattern → AF
HandoffBuilder. - 04_magentic_one.py — AutoGen
MagenticOneGroupChat→ AFMagenticBuilder.
Each script is fully async and the main() routine runs both implementations back to back so you can observe their outputs in a single execution.
Prerequisites
- Python 3.10 or later.
- Access to the necessary model endpoints (Azure OpenAI, OpenAI, etc.).
- Installed SDKs: Install AutoGen and the Microsoft Agent Framework with:
pip install "autogen-agentchat autogen-ext[openai] agent-framework" - Service credentials exposed through environment variables (e.g.,
OPENAI_API_KEY).
Running Single-Agent Samples
From the repository root:
python samples/autogen-migration/single_agent/01_basic_agent.py
Every script accepts no CLI arguments and will first call the AutoGen implementation, followed by the AF version. Adjust the prompt or credentials inside the file as necessary before running.
Running Orchestration Samples
Advanced comparisons are in autogen-migration/orchestrations (RoundRobin, Selector, Swarm, Magentic). You can run them directly:
python samples/autogen-migration/orchestrations/01_round_robin_group_chat.py
python samples/autogen-migration/orchestrations/04_magentic_one.py
Tips for Migration
- Default behavior differences: AutoGen's
AssistantAgentis single-turn by default (max_tool_iterations=1), while AF'sAgentis multi-turn and continues tool execution automatically. - Thread management: AF agents are stateless by default. Use
agent.create_session()and pass it torun()to maintain conversation state, similar to AutoGen's conversation context. - Tools: AutoGen uses
FunctionToolwrappers; AF uses@tooldecorators with automatic schema inference. - Orchestration patterns:
RoundRobinGroupChat→SequentialBuilderorWorkflowBuilderSelectorGroupChat→GroupChatBuilderwith LLM-based speaker selectionSwarm→HandoffBuilderfor agent handoff coordinationMagenticOneGroupChat→MagenticBuilderfor orchestrated multi-agent workflows