Skip to content

chore(deps): pin all Python dependencies to exact versions#75

Open
zimeg wants to merge 1 commit into
mainfrom
deps-pin-versions
Open

chore(deps): pin all Python dependencies to exact versions#75
zimeg wants to merge 1 commit into
mainfrom
deps-pin-versions

Conversation

@zimeg

@zimeg zimeg commented Jun 24, 2026

Copy link
Copy Markdown
Member

This pull request pins every Python dependency across all three agent variants to an exact == version.

Summary

  • All variants declared loose or unpinned dependencies, so CI resolved the latest release at run time.
  • pydantic-ai 2.0.0 removed MCPServerStreamableHTTP (now unified under MCPToolset), which broke the build (pydantic-ai) job on every open PR — including ones that did not touch pydantic-ai.
  • Pinned every dep to == in each variant's requirements.txt and pyproject.toml so this cannot recur; Dependabot now drives future bumps.
  • pydantic-ai is pinned to 1.107.0, the last 1.x release that still exports MCPServerStreamableHTTP. Migrating to the new MCPToolset API is left as a follow-up.
  • Other bumps folded in: ruff 0.15.17 → 0.15.19, slack-bolt/slack-cli-hooks/claude-agent-sdk/aiohttp ranges → exact, pytest/pytest-asyncio/openai-agents unpinned → exact.

Testing

  • In a clean venv per variant, install from the pinned requirements.txt and run pytest — all three pass (6/6 each).
  • Confirm python -c "from pydantic_ai.mcp import MCPServerStreamableHTTP" succeeds under the pinned pydantic-ai==1.107.0.
  • Run ruff check . in each variant with 0.15.19 — all clean.

Every variant declared loose or unpinned dependencies (bare
pydantic-ai/openai-agents, >= and < ranges), so CI resolved the
latest release at run time. pydantic-ai 2.0.0 removed
MCPServerStreamableHTTP, which broke the pydantic-ai build job on
every PR regardless of what it changed.

Pin every dependency to an exact == version across all three
variants' requirements.txt and pyproject.toml. pydantic-ai is pinned
to 1.107.0, the last 1.x release that still exports
MCPServerStreamableHTTP; migrating to the new MCPToolset API is left
for a follow-up.

- slack-bolt, slack-cli-hooks: range -> ==
- pydantic-ai, openai-agents: unpinned -> ==
- claude-agent-sdk, aiohttp: >= -> ==
- pytest, pytest-asyncio: unpinned -> ==
- ruff: 0.15.17 -> 0.15.19
@zimeg zimeg marked this pull request as ready for review June 24, 2026 22:29
@zimeg zimeg requested a review from a team as a code owner June 24, 2026 22:29
@zimeg zimeg self-assigned this Jun 24, 2026
@zimeg zimeg added bug Something isn't working dependencies Pull requests that update a dependency file labels Jun 24, 2026

[project.optional-dependencies]
test = [
"pytest",

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Image

this causes the errors

@zimeg zimeg enabled auto-merge (squash) June 24, 2026 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant