Target merged pydantic-ai#6333: pin pydantic-ai-slim to the main merge commit

#6333 landed on `main` (get_model/resolve_model_id/for_agent hooks).
The current PyPI release (2.12.0) predates it, so move the temporary pin
off the feature branch onto the merge commit until the next release ships
the hook. The `get_model` selector API `ManagedAgent` targets is unchanged
from the pinned feature-branch rev (the merge only adds `for_agent`, which
we don't override), so no code change -- full suite + 100% coverage green
against `main`.
This commit is contained in:
Douwe Maan
2026-07-18 00:25:23 +00:00
parent b3a7ef657d
commit de2d29af79
2 changed files with 20 additions and 20 deletions
+11 -11
View File
@@ -80,17 +80,17 @@ lint = [
]
[tool.uv.sources]
# TEMPORARY PIN — remove when pydantic-ai#6333 is released.
# pydantic-ai#6333 (branch `capability-run-spec`) adds the `AbstractCapability.get_model()` hook that
# `ManagedAgent` uses to source the agent's model with correct precedence (fixing the
# model-less-agent and `run(model=...)`-loses-to-managed-model limits). Its selector form —
# `get_model()` returning a callable that receives `ModelSelectionContext` (with `.agent`/`.deps`) —
# is what lets a *nameless* `ManagedAgent` source the model too, deriving its variable from the
# agent at selection time. Once that PR is released to PyPI, drop this source so we resolve
# `pydantic-ai-slim` from the `>=` floor above.
# NOTE: `pydantic-ai-slim` lives in the `pydantic_ai_slim/` subdirectory of the monorepo. Pinned to
# an explicit rev (not the branch) so the resolution is reproducible and doesn't drift as the branch moves.
pydantic-ai-slim = { git = 'https://github.com/pydantic/pydantic-ai.git', rev = '3b3bab4220d9086b00cac3d2f8975a178c06b9b6', subdirectory = 'pydantic_ai_slim' }
# TEMPORARY PIN — remove when the pydantic-ai release that includes #6333 lands on PyPI.
# pydantic-ai#6333 (MERGED to `main`) adds the `AbstractCapability.get_model()` hook that `ManagedAgent`
# uses to source the agent's model with correct precedence (fixing the model-less-agent and
# `run(model=...)`-loses-to-managed-model limits). Its selector form — `get_model()` returning a
# callable that receives `ModelSelectionContext` (with `.agent`/`.deps`) — is what lets a *nameless*
# `ManagedAgent` source the model too, deriving its variable from the agent at selection time. The
# current PyPI release (2.12.0) predates the merge, so we pin to the merge commit on `main` until the
# next release ships the hook, at which point this source drops and we resolve from the `>=` floor above.
# NOTE: `pydantic-ai-slim` lives in the `pydantic_ai_slim/` subdirectory of the monorepo. Pinned to an
# explicit rev (not `branch = 'main'`) so the resolution is reproducible and doesn't drift as main moves.
pydantic-ai-slim = { git = 'https://github.com/pydantic/pydantic-ai.git', rev = '9688a9cca2fcf81451cdac35e701250dbdfec75e', subdirectory = 'pydantic_ai_slim' }
[tool.hatch.version]
source = 'uv-dynamic-versioning'
Generated
+9 -9
View File
@@ -1059,10 +1059,10 @@ lint = [
requires-dist = [
{ name = "httpx", specifier = ">=0.28.1" },
{ name = "logfire", marker = "extra == 'logfire'", specifier = ">=4.31.0" },
{ name = "pydantic-ai-slim", git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=3b3bab4220d9086b00cac3d2f8975a178c06b9b6" },
{ name = "pydantic-ai-slim", extras = ["dbos"], marker = "extra == 'dbos'", git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=3b3bab4220d9086b00cac3d2f8975a178c06b9b6" },
{ name = "pydantic-ai-slim", extras = ["spec"], marker = "extra == 'logfire'", git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=3b3bab4220d9086b00cac3d2f8975a178c06b9b6" },
{ name = "pydantic-ai-slim", extras = ["temporal"], marker = "extra == 'temporal'", git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=3b3bab4220d9086b00cac3d2f8975a178c06b9b6" },
{ name = "pydantic-ai-slim", git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=9688a9cca2fcf81451cdac35e701250dbdfec75e" },
{ name = "pydantic-ai-slim", extras = ["dbos"], marker = "extra == 'dbos'", git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=9688a9cca2fcf81451cdac35e701250dbdfec75e" },
{ name = "pydantic-ai-slim", extras = ["spec"], marker = "extra == 'logfire'", git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=9688a9cca2fcf81451cdac35e701250dbdfec75e" },
{ name = "pydantic-ai-slim", extras = ["temporal"], marker = "extra == 'temporal'", git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=9688a9cca2fcf81451cdac35e701250dbdfec75e" },
{ name = "pydantic-monty", marker = "extra == 'code-mode'", specifier = ">=0.0.16" },
{ name = "pydantic-monty", marker = "extra == 'codemode'", specifier = ">=0.0.16" },
]
@@ -1076,7 +1076,7 @@ dev = [
{ name = "inline-snapshot", specifier = ">=0.32.5" },
{ name = "logfire", extras = ["httpx"], specifier = ">=4.31.0" },
{ name = "pydantic-ai-harness", extras = ["code-mode"] },
{ name = "pydantic-ai-slim", extras = ["spec"], git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=3b3bab4220d9086b00cac3d2f8975a178c06b9b6" },
{ name = "pydantic-ai-slim", extras = ["spec"], git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=9688a9cca2fcf81451cdac35e701250dbdfec75e" },
{ name = "pytest", specifier = ">=9.0.0" },
{ name = "pytest-anyio" },
{ name = "pytest-examples", specifier = ">=0.0.18" },
@@ -1089,8 +1089,8 @@ lint = [
[[package]]
name = "pydantic-ai-slim"
version = "2.11.1.dev11+3b3bab42"
source = { git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=3b3bab4220d9086b00cac3d2f8975a178c06b9b6#3b3bab4220d9086b00cac3d2f8975a178c06b9b6" }
version = "2.12.1.dev10+9688a9cc"
source = { git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_ai_slim&rev=9688a9cca2fcf81451cdac35e701250dbdfec75e#9688a9cca2fcf81451cdac35e701250dbdfec75e" }
dependencies = [
{ name = "exceptiongroup", marker = "python_full_version < '3.11'" },
{ name = "genai-prices" },
@@ -1232,8 +1232,8 @@ wheels = [
[[package]]
name = "pydantic-graph"
version = "2.11.1.dev11+3b3bab42"
source = { git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_graph&rev=3b3bab4220d9086b00cac3d2f8975a178c06b9b6#3b3bab4220d9086b00cac3d2f8975a178c06b9b6" }
version = "2.12.1.dev10+9688a9cc"
source = { git = "https://github.com/pydantic/pydantic-ai.git?subdirectory=pydantic_graph&rev=9688a9cca2fcf81451cdac35e701250dbdfec75e#9688a9cca2fcf81451cdac35e701250dbdfec75e" }
dependencies = [
{ name = "httpx" },
{ name = "logfire-api" },