Rank #3 of 9 in Agent Frameworks & SDKs
Access
Install
pip install pydantic-aiShowcase


Verified integrations
Connections to other tracked products — hover a chip for the verbatim evidence quote behind it.
By theme — the product's score on each story themeBy theme
Agenticness — how well agents can access and operate the productAgenticnessevidence →
How well agents can access and operate the product
Agents tools — stories about agents tools in this arenaAgents toolsevidence →
Stories about agents tools in this arena
Automation depth — how much of the product can run unattendedAutomation depthevidence →
How much of the product can run unattended
Deployment portability — stories about deployment portability in this arenaDeployment portabilityevidence →
Stories about deployment portability in this arena
Evals observability — stories about evals observability in this arenaEvals observabilityevidence →
Stories about evals observability in this arena
Guardrails safety — stories about guardrails safety in this arenaGuardrails safetyevidence →
Stories about guardrails safety in this arena
Human in the loop — stories about human in the loop in this arenaHuman in the loopevidence →
Stories about human in the loop in this arena
Memory context — stories about memory context in this arenaMemory contextevidence →
Stories about memory context in this arena
Openness — open source, data portability, and self-hosting storiesOpennessevidence →
Open source, data portability, and self-hosting stories
Orchestration multi agent — stories about orchestration multi agent in this arenaOrchestration multi agentevidence →
Stories about orchestration multi agent in this arena
Privacy posture — data-handling and privacy storiesPrivacy postureevidence →
Data-handling and privacy stories
State durability — stories about state durability in this arenaState durabilityevidence →
Stories about state durability in this arena
Streaming output — stories about streaming output in this arenaStreaming outputevidence →
Stories about streaming output in this arena
Story verdicts — every judged story with its evidenceStory verdicts
Follow the green: where the map greys out is where Pydantic AI stops today. ✓ full · ~ partial · ! disputed · — none · n/a not applicable.
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
API surface
Drive the product through a documented public API
✓8/10
unlocks → Webhooks · Scoped API keys · Versioning policy · Have a coding agent scaffold a new agent project from an official CLI or template in one command · Rely on strict typing and schema validation so a coding agent catches its own mistakes at build time
Subscribe to events via webhooks
—–
Build against official SDKs
✓8/10
Issue scoped/least-privilege API credentials for an agent
—–
Connect an agent via an official MCP server
n/an/a
Download a machine-readable API spec (OpenAPI or equivalent)
~5/10
unlocks → Interactive API docs
Rely on versioned APIs with a documented deprecation policy
—–
Test against a sandbox environment without touching production data
~5/10
Explore an interactive API reference with runnable examples
—–
Agentic features
Delegate tasks to a built-in AI assistant inside the product
~6/10
Operate the product with natural-language commands
✓7/10
Plug MCP servers into this product so it can use their tools
✓8/10
Get AI-generated insights and suggestions from my data inside the product
n/an/a
Set up automations that run autonomously in the background
~5/10
Agents tools — stories about agents tools in this arenaAgents tools
Stories about agents tools in this arena
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
Deployment portability — stories about deployment portability in this arenaDeployment portability
Stories about deployment portability in this arena
Evals observability — stories about evals observability in this arenaEvals observability
Stories about evals observability in this arena
Guardrails safety — stories about guardrails safety in this arenaGuardrails safety
Stories about guardrails safety in this arena
Human in the loop — stories about human in the loop in this arenaHuman in the loop
Stories about human in the loop in this arena
Memory context — stories about memory context in this arenaMemory context
Stories about memory context in this arena
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
Openness
Self-host the core product
✓7/10
Export all of my data in open formats and leave
~5/10
unlocks → Deploy an agent to a managed runtime and call it as an API endpoint · Swap the underlying LLM provider or model without rewriting my agent
Do everything through the API that I can do in the UI
n/an/a
Read the product's source under an open license
—–
Orchestration multi agent — stories about orchestration multi agent in this arenaOrchestration multi agent
Stories about orchestration multi agent in this arena
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
State durability — stories about state durability in this arenaState durability
Stories about state durability in this arena
Streaming output — stories about streaming output in this arenaStreaming output
Stories about streaming output in this arena
Sorted by importance (agentic first) (high → low) · 51/51 stories · click a row’s chevron for the rationale and evidence
Drive the product through a documented public API G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | full | 8/10 | Tprobed | |
Plug MCP servers into this product so it can use their tools G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | full | 8/10 | Cclaimed | |
Delegate tasks to a built-in AI assistant inside the product G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | partial | 6/10 | Tprobed | |
Connect an agent via an official MCP server G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 3 | n/a± | 0/10 | ||
Build against official SDKs G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 8/10 | Xcommunity | |
Point an agent at llms.txt or agent-oriented docs G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 8/10 | Tprobed | |
Run the product headlessly / in CI for automation G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 8/10 | Cclaimed | |
Use an official CLI G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 8/10 | Tprobed | |
Operate the product with natural-language commands G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | full | 7/10 | Cclaimed | |
Download a machine-readable API spec (OpenAPI or equivalent) G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial± | 5/10 | Tprobed | |
Set up automations that run autonomously in the background G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | partial | 5/10 | Xcommunity | |
Explore an interactive API reference with runnable examples G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | untested | none yet | |
Get AI-generated insights and suggestions from my data inside the product G Agentic features | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | n/a | untested | none yet | |
Issue scoped/least-privilege API credentials for an agent G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none± | untested | none yet | |
Rely on versioned APIs with a documented deprecation policy G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none | untested | none yet | |
Subscribe to events via webhooks G Agent access | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 2 | none± | untested | none yet | |
Test against a sandbox environment without touching production data G Api quality | ai-native user | Agenticness — how well agents can access and operate the productAgenticness | 1 | partial | 5/10 | Xcommunity | |
Define an agent with typed custom tools in a few lines of code C Agent authoring | developer | Agents tools — stories about agents tools in this arenaAgents tools | 3 | full | 9/10 | Xcommunity | |
Trace every LLM call and tool invocation of an agent run in an observability UI C Tracing | developer | Evals observability — stories about evals observability in this arenaEvals observability | 3 | full | 9/10 | Xcommunity | |
Pause an agent mid-run for human input or approval and resume with the human's decision C Approval flows | developer | Human in the loop — stories about human in the loop in this arenaHuman in the loop | 3 | full | 8/10 | Cclaimed | |
Checkpoint agent state so a run can resume exactly where it left off after a crash or restart C Durable state | developer | State durability — stories about state durability in this arenaState durability | 3 | full | 7/10 | Cclaimed | |
Orchestrate multiple agents — handoffs, subagents, or crews — inside one workflow C Multi agent | developer | Orchestration multi agent — stories about orchestration multi agent in this arenaOrchestration multi agent | 3 | full | 7/10 | Xcommunity | |
Self-host the core product G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 3 | full | 7/10 | Xcommunity | |
Stream tokens and intermediate agent events (tool calls, steps) to my UI in real time C Streaming | developer | Streaming output — stories about streaming output in this arenaStreaming output | 3 | partial | 6/10 | Xcommunity | |
Swap the underlying LLM provider or model without rewriting my agent C Portability | developer | Deployment portability — stories about deployment portability in this arenaDeployment portability | 3 | disputed | 6/10 | Dcontradicted | |
Export all of my data in open formats and leave G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 3 | partial | 5/10 | Xcommunity | |
Get schema-validated structured output from an agent, with automatic retries when validation fails C Structured output | developer | Streaming output — stories about streaming output in this arenaStreaming output | 3 | disputed | 5/10 | Dcontradicted | |
Attach input/output guardrails that validate, transform, or block unsafe content C Guardrails | developer | Guardrails safety — stories about guardrails safety in this arenaGuardrails safety | 3 | partial | 3/10 | Cclaimed | |
Define rules that trigger actions automatically on events G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 3 | none | 0/10 | ||
Prevent my data from being used to train AI models G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 3 | n/a | untested | none yet | |
Require human approval before specific sensitive tool calls execute C Approval flows | engineering-lead | Human in the loop — stories about human in the loop in this arenaHuman in the loop | 2 | full | 8/10 | Cclaimed | |
Unit-test agents with mocked models and tools C Testing | developer | Evals observability — stories about evals observability in this arenaEvals observability | 2 | full | 8/10 | Xcommunity | |
Run my agents entirely on my own infrastructure with no dependence on the vendor's platform C Deployment | engineering-lead | Deployment portability — stories about deployment portability in this arenaDeployment portability | 2 | full | 7/10 | Cclaimed | |
Compose agents into an explicit graph or workflow with branching, loops, and parallel steps C Workflow control | developer | Orchestration multi agent — stories about orchestration multi agent in this arenaOrchestration multi agent | 2 | partial | 6/10 | Cclaimed | |
Restrict what an agent may do with fine-grained tool permissions and sandboxed execution C Guardrails | engineering-lead | Guardrails safety — stories about guardrails safety in this arenaGuardrails safety | 2 | partial | 6/10 | Cclaimed | |
Run long-lived agents durably across process restarts and deploys, natively or via durable-execution integrations C Durable state | engineering-lead | State durability — stories about state durability in this arenaState durability | 2 | partial | 6/10 | Xcommunity | |
Score agent quality with built-in evals and run them as part of CI C Evals | engineering-lead | Evals observability — stories about evals observability in this arenaEvals observability | 2 | partial | 6/10 | Cclaimed | |
Give agents long-term memory that persists across sessions and threads C Memory | developer | Memory context — stories about memory context in this arenaMemory context | 2 | partial | 5/10 | Xcommunity | |
Rely on strict typing and schema validation so a coding agent catches its own mistakes at build time C Ai buildability | ai-native user | Agents tools — stories about agents tools in this arenaAgents tools | 2 | disputed | 5/10 | Dcontradicted | |
Run the framework's example agents headlessly from a terminal so an agent can verify what it just built C Ai buildability | ai-native user | Agents tools — stories about agents tools in this arenaAgents tools | 2 | partial | 5/10 | Cclaimed | |
Opt out of telemetry and usage tracking G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | partial | 4/10 | Cclaimed | |
Perform bulk operations across many items at once G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 2 | partial | 4/10 | Cclaimed | |
Trim, summarize, or filter conversation history to keep an agent inside its context window C Memory | developer | Memory context — stories about memory context in this arenaMemory context | 2 | partial | 3/10 | Cclaimed | |
Deploy an agent to a managed runtime and call it as an API endpoint C Deployment | engineering-lead | Deployment portability — stories about deployment portability in this arenaDeployment portability | 2 | none | 0/10 | ||
Have a coding agent scaffold a new agent project from an official CLI or template in one command C Ai buildability | ai-native user | Agents tools — stories about agents tools in this arenaAgents tools | 2 | none | 0/10 | ||
Schedule recurring jobs or workflows G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 2 | none | 0/10 | ||
Choose where my data is stored (region/residency) G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | n/a | untested | none yet | |
Control data retention and deletion G | ai-native user | Privacy posture — data-handling and privacy storiesPrivacy posture | 2 | n/a | untested | none yet | |
Do everything through the API that I can do in the UI G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 2 | n/a | untested | none yet | |
Read the product's source under an open license G | ai-native user | Openness — open source, data portability, and self-hosting storiesOpenness | 2 | none | untested | none yet | |
Version, review, and roll back my automations G | ai-native user | Automation depth — how much of the product can run unattendedAutomation depth | 1 | none | 0/10 |
Opportunities — the stories that would move this product's scores, from its own judged verdictsOpportunitiestop 8 of 26 stories with headroom
What would move Pydantic AI’s scores — derived from its own judged verdicts, biggest headroom first. Each line quotes what the judge found missing; shipping it (or evidencing it publicly) is the fix.
Automation depth — how much of the product can run unattendedDefine rules that trigger actions automatically on events
nonemoves PA Scoreimpact 30
Missing: any documented rule/trigger definition mechanism, event-listener API, or evidence of automatic action-firing on external events.
Agenticness — how well agents can access and operate the productIssue scoped/least-privilege API credentials for an agent
nonemoves agent-readyimpact 30
Missing: any documentation of credential scoping, permission tiers, or least-privilege token issuance for agents.
Agenticness — how well agents can access and operate the productSubscribe to events via webhooks
nonemoves agent-readyimpact 30
No evidence in the pack mentions webhooks or event subscription mechanisms; Pydantic AI documentation covers agents, tools, durable execution, CLI, and observability but never webhook APIs for external event notification.
Agenticness — how well agents can access and operate the productExplore an interactive API reference with runnable examples
nonemoves API qualityimpact 30
Evidence shows static code snippets throughout the docs (e.g., output_type examples, tool examples) but no evidence of an interactive API reference or runnable/executable examples (e.g., embedded sandboxes, live code runners, Jupyter-style notebooks).
Agenticness — how well agents can access and operate the productRely on versioned APIs with a documented deprecation policy
nonemoves API qualityimpact 30
No evidence in the pack mentions API versioning, semantic versioning policy, or a documented deprecation policy for Pydantic AI's APIs; all citations concern agent features, tooling, and community sentiment unrelated to versioning guarantees.
Guardrails safety — stories about guardrails safety in this arenaAttach input/output guardrails that validate, transform, or block unsafe content
partialq3/10moves PA Scoreimpact 21
Missing: explicit guardrails API/docs, content-safety/moderation examples, independent evidence of blocking unsafe outputs.
Agents tools — stories about agents tools in this arenaHave a coding agent scaffold a new agent project from an official CLI or template in one command
nonemoves PA Scoreimpact 20
Pydantic AI documents a CLI called `clai` for chatting with LLMs/agents from the terminal or launching a CLI from an existing Agent instance, but there is no evidence of an official scaffolding command or project template that generates a new agent project structure in one command.
Automation depth — how much of the product can run unattendedSchedule recurring jobs or workflows
nonemoves PA Scoreimpact 20
Missing: any documentation of recurring/cron scheduling, trigger-based workflow re-execution, or a scheduling API/integration.
Showing the top 8 of 26 — every none/partial verdict in the story verdicts table is headroom.
Think a verdict is wrong? Every verdicts-table row has a Flag link — see the methodology.
Coverage map — which docs area, API section, or community source covers which judged storiesCoverage map7 surfaces · 35 covered stories
Where the cited evidence behind each covered verdict came from — the same citations the verdicts table shows, no extra judging.
docs34 stories
- Point an agent at llms.txt or agent-oriented docs
- Run the product headlessly / in CI for automation
- Plug MCP servers into this product so it can use their tools
- Use an official CLI
- Drive the product through a documented public API
- Build against official SDKs
- Set up automations that run autonomously in the background
- Delegate tasks to a built-in AI assistant inside the product
- Operate the product with natural-language commands
- Download a machine-readable API spec (OpenAPI or equivalent)
- Test against a sandbox environment without touching production data
- Define an agent with typed custom tools in a few lines of code
- Run the framework's example agents headlessly from a terminal so an agent can verify what it just built
- Rely on strict typing and schema validation so a coding agent catches its own mistakes at build time
- Perform bulk operations across many items at once
- Run my agents entirely on my own infrastructure with no dependence on the vendor's platform
- Swap the underlying LLM provider or model without rewriting my agent
- Score agent quality with built-in evals and run them as part of CI
- Unit-test agents with mocked models and tools
- Trace every LLM call and tool invocation of an agent run in an observability UI
- Attach input/output guardrails that validate, transform, or block unsafe content
- Restrict what an agent may do with fine-grained tool permissions and sandboxed execution
- Pause an agent mid-run for human input or approval and resume with the human's decision
- Require human approval before specific sensitive tool calls execute
- Trim, summarize, or filter conversation history to keep an agent inside its context window
- Give agents long-term memory that persists across sessions and threads
- Export all of my data in open formats and leave
- Self-host the core product
- Orchestrate multiple agents — handoffs, subagents, or crews — inside one workflow
- Compose agents into an explicit graph or workflow with branching, loops, and parallel steps
- Opt out of telemetry and usage tracking
- Checkpoint agent state so a run can resume exactly where it left off after a crash or restart
- Run long-lived agents durably across process restarts and deploys, natively or via durable-execution integrations
- Get schema-validated structured output from an agent, with automatic retries when validation fails
Hacker News16 stories
- Drive the product through a documented public API
- Build against official SDKs
- Set up automations that run autonomously in the background
- Test against a sandbox environment without touching production data
- Define an agent with typed custom tools in a few lines of code
- Rely on strict typing and schema validation so a coding agent catches its own mistakes at build time
- Swap the underlying LLM provider or model without rewriting my agent
- Unit-test agents with mocked models and tools
- Trace every LLM call and tool invocation of an agent run in an observability UI
- Give agents long-term memory that persists across sessions and threads
- Export all of my data in open formats and leave
- Self-host the core product
- Orchestrate multiple agents — handoffs, subagents, or crews — inside one workflow
- Run long-lived agents durably across process restarts and deploys, natively or via durable-execution integrations
- Stream tokens and intermediate agent events (tool calls, steps) to my UI in real time
- Get schema-validated structured output from an agent, with automatic retries when validation fails
ai.pydantic.dev6 stories
- Run the product headlessly / in CI for automation
- Set up automations that run autonomously in the background
- Run my agents entirely on my own infrastructure with no dependence on the vendor's platform
- Swap the underlying LLM provider or model without rewriting my agent
- Self-host the core product
- Run long-lived agents durably across process restarts and deploys, natively or via durable-execution integrations
Logfire docs3 stories
llms.txt2 stories
OpenAPI spec2 stories
Claims vs evidence — vendor claims reconciled against independent verdictsClaims vs evidence
6 of 14 testable claims verified · 3 contradicted → integrity 0/100
20 distinct capability claims found in Pydantic AI’s own claimed-docs/GitHub materials, reconciled against our judge’s independent verdicts.
6
Verified
5
Unverified
3
Contradicted
21
Undersold
Verified (9)
“Function tools let models perform actions and retrieve extra info to help generate a response”
Define an agent with typed custom tools in a few lines of codefullproof ↗
“Supports agent delegation where one agent delegates work to another agent and resumes control after completion”
Orchestrate multiple agents — handoffs, subagents, or crews — inside one workflowfullproof ↗
“Supports durable agents that preserve progress across transient API failures, errors, or restarts”
Run long-lived agents durably across process restarts and deploys, natively or via durable-execution integrationspartialproof ↗
“Generates traces and spans for each model request and tool call during an agent run”
Trace every LLM call and tool invocation of an agent run in an observability UIfullproof ↗
“Includes an official CLI (clai) for chatting with LLMs and getting quick answers from the command line”
“Can launch CLI mode directly from an Agent instance via to_cli_sync()”
“Built-in optional integration with Logfire sends detailed agent run information for observability”
Trace every LLM call and tool invocation of an agent run in an observability UIfullproof ↗
“@agent.tool decorator gives tools access to agent context by default”
Define an agent with typed custom tools in a few lines of codefullproof ↗
“Provides TestModel and FunctionModel for testing and development with mocked models”
Unverified (5)
“Provides access to full message history from an agent run for continuing conversations or analysis”
Trim, summarize, or filter conversation history to keep an agent inside its context windowpartialproof ↗
“Can act as an MCP client, connecting to MCP servers to use their tools within an agent run”
Plug MCP servers into this product so it can use their toolsfullproof ↗
“Tool calls may require human approval before execution”
Require human approval before specific sensitive tool calls executefullproof ↗
“Pydantic Evals is a code-first framework for systematically testing and evaluating AI systems, from single calls to multi-agent apps”
Score agent quality with built-in evals and run them as part of CIpartialproof ↗
“Supports tool calls that shouldn't or can't be executed within the same agent run/process, enabling human-in-the-loop workflows”
Pause an agent mid-run for human input or approval and resume with the human's decisionfullproof ↗
Contradicted (4)
“Agents are generically typed by dependency and output types, giving IDE type-checking support”
Rely on strict typing and schema validation so a coding agent catches its own mistakes at build timedisputedproof ↗
“Model-agnostic framework with built-in support for many different LLM providers, swap models via a string”
Swap the underlying LLM provider or model without rewriting my agentdisputedproof ↗
“Many other providers can be used via an OpenAI-API-compatible model class”
Swap the underlying LLM provider or model without rewriting my agentdisputedproof ↗
“Can force model output to match a Pydantic model schema for structured output”
Get schema-validated structured output from an agent, with automatic retries when validation failsdisputedproof ↗
Undersold (21)
Point an agent at llms.txt or agent-oriented docsfullproof ↗
Run the product headlessly / in CI for automationfullproof ↗
Drive the product through a documented public APIfullproof ↗
Set up automations that run autonomously in the backgroundpartialproof ↗
Delegate tasks to a built-in AI assistant inside the productpartialproof ↗
Operate the product with natural-language commandsfullproof ↗
Download a machine-readable API spec (OpenAPI or equivalent)partialproof ↗
Test against a sandbox environment without touching production datapartialproof ↗
Run the framework's example agents headlessly from a terminal so an agent can verify what it just builtpartialproof ↗
Perform bulk operations across many items at oncepartialproof ↗
Run my agents entirely on my own infrastructure with no dependence on the vendor's platformfullproof ↗
Attach input/output guardrails that validate, transform, or block unsafe contentpartialproof ↗
Restrict what an agent may do with fine-grained tool permissions and sandboxed executionpartialproof ↗
Give agents long-term memory that persists across sessions and threadspartialproof ↗
Export all of my data in open formats and leavepartialproof ↗
Compose agents into an explicit graph or workflow with branching, loops, and parallel stepspartialproof ↗
Checkpoint agent state so a run can resume exactly where it left off after a crash or restartfullproof ↗
Stream tokens and intermediate agent events (tool calls, steps) to my UI in real timepartialproof ↗
Claims outside our story set (2)
Real capability claims found in Pydantic AI’s own materials, but no story in this arena’s taxonomy covers them yet — that’s feedback on the taxonomy, not a mark against the product.
“The same agent object can run behind a web frontend, in a terminal, on a voice call, or on a durable background queue”
source ↗“Ships a complete terminal coding agent with workspace-scoped file access, allowlisted shell, repo orientation and planning”
source ↗
Business model
Pydantic AI is MIT-licensed and free; the company monetizes through Pydantic Logfire observability, which has a free tier then usage-based pricing per span/metric ingested.
pricing ↗Score trend
How this product’s scores have moved as evidence and verdicts are re-derived — a point per change, not per day.
Flag
⚑ Flag a verdictThink a verdict is wrong? Opens a prefilled GitHub issue — or use the ⚑ next to any verdict above.
For agents
Agent surface uptime llms.txt 100% · openapi.json 100% (30d, checked every 6h since Sep 8 '26)
