Skip to content

Python: Consolidate dependency updates#7204

Merged
TaoChenOSU merged 18 commits into
microsoft:mainfrom
moonbox3:consolidate-dependabot-20260720-7c6b1e975
Jul 20, 2026
Merged

Python: Consolidate dependency updates#7204
TaoChenOSU merged 18 commits into
microsoft:mainfrom
moonbox3:consolidate-dependabot-20260720-7c6b1e975

Conversation

@moonbox3

Copy link
Copy Markdown
Contributor

Motivation & Context

This consolidates the open Python Dependabot updates into one coordinated dependency refresh. Several upgrades change repository lint and type-check behavior, while azure-ai-projects 2.3 moves hosted-session and toolbox operations to stable client namespaces. Landing the updates together keeps the workspace, package code, tests, and samples compatible.

Description & Review Guide

  • What are the major changes?
    • Update uv, ruff, mypy, ty, zuban, prek, azure-ai-projects, types-python-dateutil, and botocore to the versions requested by the source PRs.
    • Regenerate uv.lock, align the lab development-tool pins, and apply the Ruff 0.15.22 suppression migration.
    • Support the azure-ai-projects 2.2 preview and 2.3 stable hosted-session/toolbox operation paths in Foundry code and samples, with focused tests.
    • Update test suppressions and type assertions for ty 0.0.60.
  • What is the impact of these changes?
    • The Python workspace uses the updated dependency and tool versions while preserving compatibility across the declared azure-ai-projects bounds.
  • What do you want reviewers to focus on?
    • The Foundry 2.2/2.3 operation fallback and the generated Ruff suppression updates.

Related Issue

Supersedes:

Contribution Checklist

  • The code builds clean without any errors or warnings
  • All unit tests pass, and I have added new tests where possible
  • The PR follows the Contribution Guidelines
  • This PR is linked to an issue and there is no other open PR for this issue (see Related Issue above).
  • This is not a breaking change. If it is a breaking change, add the breaking change label (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.

dependabot Bot and others added 16 commits July 20, 2026 14:27
Bumps [uv](https://github.com/astral-sh/uv) from 0.11.28 to 0.11.29.
- [Release notes](https://github.com/astral-sh/uv/releases)
- [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md)
- [Commits](astral-sh/uv@0.11.28...0.11.29)

---
updated-dependencies:
- dependency-name: uv
  dependency-version: 0.11.29
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [zuban](https://github.com/zubanls/zubanls-python) from 0.8.2 to 0.9.0.
- [Release notes](https://github.com/zubanls/zubanls-python/releases)
- [Commits](zubanls/zuban@v0.8.2...v0.9.0)

---
updated-dependencies:
- dependency-name: zuban
  dependency-version: 0.9.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.15.20 to 0.15.22.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.15.20...0.15.22)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.15.21
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [mypy](https://github.com/python/mypy) from 2.2.0 to 2.3.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 2.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [prek](https://github.com/j178/prek) from 0.4.8 to 0.4.10.
- [Release notes](https://github.com/j178/prek/releases)
- [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md)
- [Commits](j178/prek@v0.4.8...v0.4.10)

---
updated-dependencies:
- dependency-name: prek
  dependency-version: 0.4.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps azure-ai-projects from 2.2.0 to 2.3.0.

---
updated-dependencies:
- dependency-name: azure-ai-projects
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.9.0.20260518 to 2.9.0.20260716.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-version: 2.9.0.20260716
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [mypy](https://github.com/python/mypy) from 2.2.0 to 2.3.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 2.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [botocore](https://github.com/boto/botocore) from 1.43.45 to 1.43.49.
- [Commits](boto/botocore@1.43.45...1.43.49)

---
updated-dependencies:
- dependency-name: botocore
  dependency-version: 1.43.49
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Copilot AI review requested due to automatic review settings July 20, 2026 05:58
@giles17 giles17 added python Usage: [Issues, PRs], Target: Python lab Usage: [Issues, PRs], Target: lab packages labels Jul 20, 2026
@moonbox3
moonbox3 marked this pull request as ready for review July 20, 2026 06:01
@moonbox3
moonbox3 requested a review from a team as a code owner July 20, 2026 06:01
@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Python Test Coverage

Python Test Coverage Report •
FileStmtsMissCoverMissing
packages/azure-cosmos-memory/agent_framework_azure_cosmos_memory
   _context_provider.py1330100% 
packages/azurefunctions/agent_framework_azurefunctions
   _app.py58513077%82–83, 86–89, 317, 375, 435–437, 439, 459, 463, 466, 468, 470, 494, 497–500, 534–536, 538, 544–545, 552, 554, 569–574, 587, 589, 604–605, 607–608, 613–615, 617–620, 624, 629–632, 636, 642, 695, 732, 738, 741, 744, 889–890, 998, 1006–1007, 1027–1029, 1035–1037, 1043–1045, 1078–1079, 1139–1140, 1189–1190, 1195, 1277, 1280, 1289–1291, 1293–1295, 1297, 1299, 1310–1313, 1315, 1317–1318, 1320, 1327–1328, 1330–1331, 1333–1334, 1336, 1340, 1350–1352, 1354–1355, 1357–1359, 1366, 1368–1369, 1371, 1392, 1397, 1409, 1481, 1571, 1586–1589, 1614
   _hitl_context.py61198%192
   _routes.py46393%57, 60, 63
packages/core/agent_framework
   _compaction.py7025991%117–118, 126, 193–194, 212–213, 230, 264, 278, 285, 300–301, 355, 362, 378, 428, 452, 483, 532, 538, 540, 559, 603–608, 620, 692, 694, 709, 753, 815, 941, 947–951, 954–956, 964, 1039, 1041, 1057, 1064, 1069, 1084, 1092, 1186, 1189, 1207, 1223, 1319, 1346, 1430
   _evaluation.py7227589%164, 172, 488, 490, 587, 599, 791, 794, 873–875, 880, 917–920, 976–977, 980, 986–988, 992, 1025–1027, 1083, 1119, 1131–1133, 1138, 1162–1167, 1260, 1338–1339, 1341–1345, 1351, 1390, 1738, 1740, 1748, 1758, 1762, 1807, 1825–1826, 1904, 1906, 1912, 1920, 1935, 1973, 1979–1983, 2015, 2038, 2046–2047, 2049, 2074–2075, 2080
   _mcp.py136411391%241, 247, 356, 375, 596, 675–676, 808, 863, 978, 981, 991, 995, 1042–1043, 1048, 1055–1056, 1063, 1068–1069, 1076–1077, 1081, 1086–1087, 1096, 1103–1104, 1122, 1135, 1159–1160, 1179–1182, 1184–1185, 1189, 1215, 1249–1251, 1253, 1306–1308, 1367–1368, 1637, 1678–1679, 1692, 1695, 1704–1705, 1710–1711, 1717, 1771–1772, 1792–1793, 1802–1803, 1808–1809, 1815, 1908, 1911, 1938, 1961–1965, 1988–1990, 1995, 1999–2000, 2102, 2109, 2111, 2182, 2197–2198, 2205–2206, 2211–2212, 2217, 2221, 2236, 2298, 2481, 2483, 2505, 2507–2510, 2523–2524, 2568, 2630, 3047–3048, 3279–3280, 3298
   _skills.py10833996%314, 584, 1102, 1117, 1119–1120, 1486–1487, 1729, 1758, 2270, 2459, 2967–2968, 3065, 3073, 3078, 3081, 3086, 3106, 3118, 3123, 3218, 3226, 3231, 3234, 3239, 3259, 3268, 3273, 3539–3540, 4092, 4340–4341, 4368–4369, 4376–4377
   observability.py10118092%423, 425–426, 429, 432, 435–436, 441–442, 448–449, 455–456, 463, 465–466, 469, 472, 475–476, 481–482, 488–489, 495–496, 503, 680–681, 891, 895–897, 899, 907–908, 912, 956, 958, 969–971, 973–975, 979, 987, 1111–1112, 1347, 1630–1631, 1742, 1892, 1935–1936, 2125, 2353–2354, 2358, 2398–2399, 2403, 2444–2447, 2488–2489, 2640, 2643, 2655, 2672, 2676–2677, 2680, 2686, 2806, 3023, 3025
packages/core/agent_framework/_harness
   _file_access.py6144592%187, 218, 281, 391, 393, 405, 409, 437, 450–451, 458–465, 469, 473, 839–840, 866, 870, 924–926, 948–951, 1445–1446, 1457–1458, 1470–1471, 1485–1486, 1509–1510, 1525, 1530–1531, 1560
   _file_memory.py2282389%345–346, 364–365, 387–388, 396–397, 406, 421–422, 424, 435, 440–441, 449–450, 452, 463, 468–469, 482, 484
packages/core/agent_framework/_workflows
   _checkpoint_encoding.py830100% 
   _edge_runner.py1621391%58, 63, 76, 148–149, 153, 160, 221, 226, 379–380, 384, 429
   _events.py1521391%91–92, 240, 244, 246, 278, 360, 375, 390, 405, 418, 433, 439
   _typing_utils.py1583478%188, 212, 257–262, 343, 345–346, 355, 357, 364, 366, 386, 388, 390, 395–402, 405–406, 408–412, 414
   _workflow.py3512493%61, 63, 68, 92, 97, 158, 194, 412–414, 416–417, 441, 475, 642, 894, 915, 963, 975, 981, 986, 1006–1008
packages/durabletask/agent_framework_durabletask
   _constants.py610100% 
   _durable_agent_state.py50111277%73–74, 97–98, 124–126, 143, 153–154, 161–162, 170–171, 179–180, 187–188, 194–195, 201–202, 206–207, 214–217, 223, 225, 259, 270, 287, 291, 297, 299, 301, 305, 307, 309, 354, 417, 428–429, 438–441, 443, 469–470, 472, 474, 533–534, 536, 666, 677, 702, 704, 706, 765, 842, 845, 867–868, 871, 879–881, 884, 925, 953, 963, 965, 970, 975–976, 1002–1003, 1006, 1014–1016, 1019, 1037, 1040, 1044–1046, 1049, 1068, 1071, 1080–1082, 1085, 1134, 1157–1158, 1161, 1169–1173, 1176, 1282, 1285, 1292, 1295, 1327
   _worker.py1191587%268, 323, 340–341, 343–345, 382, 384, 389, 404, 408–409, 413–414
packages/durabletask/agent_framework_durabletask/_workflows
   orchestrator.py45715765%209–211, 263–265, 341–342, 344–351, 353, 360, 378–386, 492, 495–497, 500–502, 505, 507–512, 514–517, 519, 521–525, 538, 540–541, 543–548, 550–551, 553–554, 556–557, 559, 573–576, 583, 596, 603–605, 607–608, 610, 628–629, 745, 787, 793, 818, 822, 828–835, 837–838, 897, 944–945, 947–950, 959, 1059–1061, 1068–1074, 1084, 1090, 1092, 1099, 1122, 1124, 1137, 1144–1145, 1147–1148, 1152–1153, 1161–1164, 1166–1168, 1191, 1193, 1207, 1213–1214, 1216–1217, 1224–1229, 1235–1237, 1242, 1244–1245, 1250, 1252, 1259, 1264
packages/foundry/agent_framework_foundry
   _agent.py2555678%119, 122, 244–245, 249–251, 256–259, 352, 441–442, 454–455, 467–469, 471–472, 474–480, 482–483, 485, 487, 493–505, 509–510, 708–709, 712, 738, 748, 770, 858, 863, 867
packages/foundry_hosting/agent_framework_foundry_hosting
   _responses.py8169088%186–189, 276, 281, 305, 360–361, 375, 378–379, 427–428, 438, 483, 515–517, 520–521, 532, 575, 589, 664, 667, 673, 675, 747, 834–835, 1146, 1159, 1656–1658, 1660, 1707–1708, 1710–1711, 1713–1714, 1716–1717, 1722, 1731, 1734–1736, 1738, 1748, 1752, 1765, 1810–1811, 1813, 1818–1822, 1824, 1831–1832, 1834–1835, 1841, 1843–1847, 1854, 1860, 1882, 1888, 1894, 1896, 1898–1901, 1909, 1911, 1962–1964, 1974–1975
packages/openai/agent_framework_openai
   _shared.py1561689%223, 242–244, 256, 266, 278, 284, 306, 310, 344–345, 364, 383–384, 386
packages/tools/agent_framework_tools/shell
   _docker.py23212446%135, 143–144, 381–383, 391–400, 406, 412, 416–421, 423–426, 429–430, 433, 448–456, 458, 460–465, 467, 473–474, 498–506, 508–509, 514–518, 524, 533–542, 547, 555–558, 564–568, 572–574, 579, 584, 586–589, 601, 616, 621–623, 626, 635, 637, 645–652, 654–657, 663–664, 667, 702–706
   _executor.py34488%30, 58, 79–80
   _killtree.py653447%42–47, 57, 61, 70, 73–74, 77–78, 94, 105–107, 116–132
   _session.py2317866%114, 116, 137, 145, 157–158, 165–166, 169–172, 179–183, 188–189, 192, 209, 223–224, 244–250, 255, 257, 261, 263, 269–274, 277–283, 291, 293–300, 349–350, 379–382, 403–408, 411–415, 417–419, 438–439
TOTAL44822510288% 

Python Unit Test Overview

Tests Skipped Failures Errors Time
9126 33 💤 0 ❌ 0 🔥 2m 18s ⏱️

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request consolidates multiple Python dependency/tooling upgrades into a single coordinated refresh, and updates Foundry-related code/samples to handle azure-ai-projects 2.2 preview vs 2.3 stable operation namespaces.

Changes:

  • Bump Python workspace/dev toolchain and runtime dependencies (including uv, ruff, mypy, ty, zuban, prek, azure-ai-projects, and others) and regenerate uv.lock.
  • Migrate Ruff suppressions from legacy codes to rule names across packages/tests/samples.
  • Add 2.2/2.3 compatibility shims for hosted-session and toolbox operations, with a focused Foundry unit test.

Reviewed changes

Copilot reviewed 50 out of 51 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
python/uv.lock Updates locked dependency graph for the consolidated refresh (notably azure-ai-projects 2.3.0 and dev tool bumps).
python/pyproject.toml Aligns workspace dev-tool pins and adjusts ty rules.
python/packages/tools/pyproject.toml Migrates Ruff per-file ignore selectors to rule names for the tools package.
python/packages/tools/agent_framework_tools/shell/_session.py Migrates Ruff suppression comment to new rule naming.
python/packages/tools/agent_framework_tools/shell/_killtree.py Migrates Ruff suppression comment to new rule naming.
python/packages/tools/agent_framework_tools/shell/_executor.py Migrates Ruff suppression comment to new rule naming.
python/packages/tools/agent_framework_tools/shell/_docker.py Migrates Ruff suppressions for subprocess/tmpfs usage to new rule naming.
python/packages/openai/agent_framework_openai/_shared.py Migrates Ruff suppression for token-scope constant to new rule naming.
python/packages/monty/pyproject.toml Migrates Ruff per-file ignore selectors to new rule naming.
python/packages/lab/pyproject.toml Aligns lab dev-tool pins and migrates Ruff ignore selectors to new rule naming.
python/packages/lab/lightning/samples/train_tau2_agent.py Migrates Ruff suppressions to new rule naming.
python/packages/lab/lightning/samples/train_math_agent.py Migrates Ruff suppressions to new rule naming.
python/packages/hyperlight/pyproject.toml Migrates Ruff per-file ignore selectors to new rule naming.
python/packages/gemini/pyproject.toml Migrates Ruff per-file ignore selectors to new rule naming.
python/packages/foundry/pyproject.toml Expands supported azure-ai-projects upper bound to include 2.3.x.
python/packages/foundry/agent_framework_foundry/_agent.py Adds stable-vs-beta hosted session operation fallback for create_session.
python/packages/foundry/tests/foundry/test_foundry_agent.py Adds/adjusts tests to cover stable hosted-session operation selection.
python/packages/foundry_hosting/agent_framework_foundry_hosting/_responses.py Migrates Ruff commented-out-code suppression names.
python/packages/durabletask/pyproject.toml Updates types-python-dateutil dev pin.
python/packages/durabletask/agent_framework_durabletask/_workflows/orchestrator.py Migrates Ruff suppression for generator return to new rule naming.
python/packages/durabletask/agent_framework_durabletask/_worker.py Migrates Ruff suppression for generator return to new rule naming.
python/packages/durabletask/agent_framework_durabletask/_durable_agent_state.py Migrates Ruff suppressions for JSON-field constants to new rule naming.
python/packages/durabletask/agent_framework_durabletask/_constants.py Migrates Ruff suppressions for JSON-field constants to new rule naming.
python/packages/devui/agent_framework_devui/_server.py Migrates Ruff suppression to new rule naming.
python/packages/devui/agent_framework_devui/_discovery.py Migrates Ruff suppressions for blocking pathlib calls in async contexts.
python/packages/devui/agent_framework_devui/_cli.py Migrates Ruff suppressions for print usage in CLI output.
python/packages/core/tests/core/test_middleware_with_chat.py Updates ty suppression annotations for updated diagnostics.
python/packages/core/tests/core/test_middleware_with_agent.py Updates ty suppression annotations for updated diagnostics.
python/packages/core/tests/core/test_agents.py Updates ty suppression annotations for updated diagnostics.
python/packages/core/agent_framework/observability.py Migrates Ruff suppression on OTel metric names.
python/packages/core/agent_framework/_workflows/_workflow.py Updates file-level Ruff suppression style and removes per-line suppressions.
python/packages/core/agent_framework/_workflows/_typing_utils.py Migrates Ruff suppression for eval usage to new rule naming.
python/packages/core/agent_framework/_workflows/_events.py Migrates Ruff suppression for line-length.
python/packages/core/agent_framework/_workflows/_edge_runner.py Migrates Ruff suppression for line-length.
python/packages/core/agent_framework/_workflows/_checkpoint_encoding.py Migrates Ruff suppressions for pickle usage to new rule naming.
python/packages/core/agent_framework/_skills.py Migrates Ruff suppressions and minor lint-related annotations.
python/packages/core/agent_framework/_mcp.py Migrates Ruff suppression for “unused async” helper.
python/packages/core/agent_framework/_harness/_file_memory.py Migrates Ruff suppressions for line-length.
python/packages/core/agent_framework/_harness/_file_access.py Migrates Ruff suppressions for line-length.
python/packages/core/agent_framework/_evaluation.py Migrates Ruff suppression for intentional assert usage.
python/packages/core/agent_framework/_compaction.py Migrates Ruff suppression for metadata-key constants.
python/packages/core/agent_framework/init.py Updates file-level Ruff suppression style for exports.
python/packages/chatkit/pyproject.toml Migrates Ruff ignore selector name.
python/packages/azurefunctions/agent_framework_azurefunctions/_routes.py Migrates Ruff suppression for env var casing rule.
python/packages/azurefunctions/agent_framework_azurefunctions/_hitl_context.py Migrates Ruff suppression for loopback/bind-all constants.
python/packages/azurefunctions/agent_framework_azurefunctions/_app.py Migrates Ruff suppression for generator return.
python/packages/azure-contentunderstanding/pyproject.toml Migrates Ruff per-file ignore selectors to new rule naming.
python/samples/04-hosting/foundry-hosted-agents/responses/using_deployed_agent.py Adds 2.2/2.3 hosted-session operations fallback for samples.
python/samples/03-workflows/declarative/invoke_foundry_toolbox_mcp/toolbox_provisioning.py Adds 2.2/2.3 toolbox operations fallback for sample provisioning.
python/samples/02-agents/providers/foundry/foundry_chat_client_with_toolbox.py Adds 2.2/2.3 toolbox operations fallback for sample usage.
python/packages/ag-ui/tests/ag_ui/test_ag_ui_client.py Tightens type assertions/casts for streamed updates under newer typing behavior.

Comment thread python/packages/lab/pyproject.toml Outdated
Comment thread python/packages/tools/agent_framework_tools/shell/_docker.py Outdated
Comment thread python/packages/tools/agent_framework_tools/shell/_docker.py Outdated
@moonbox3
moonbox3 removed the request for review from a team July 20, 2026 06:03
@moonbox3 moonbox3 self-assigned this Jul 20, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated Code Review

Reviewers: 5 | Confidence: 75% | Result: All clear

Reviewed: Correctness, Security Reliability, Test Coverage, Failure Modes, Design Approach


Automated review by moonbox3's agents

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lab Usage: [Issues, PRs], Target: lab packages python Usage: [Issues, PRs], Target: Python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants