P

Pydantic

Python data validation and parsing library

Overview

Pydantic provides a Python library for data validation and parsing that lets developers declare models with type hints to validate, serialize, and parse data. It validates input data at runtime against the defined models, converts it into Python objects, and reports clear errors when data is invalid. It differentiates itself by being a widely used, lightweight tool tightly integrated with Python typing and FastAPI, while expanding with services like Pydantic Dashboards and PydanticAI built on top of the core library. Its goal is to help developers build reliable, maintainable software by improving data quality and productivity, and to grow a sustainable business around open-source tooling with value-added services.

Work here?Claim your company

About Pydantic

Simplify's Rating
Why Pydantic is rated
B-
Rated B on Competitive Edge
Rated B on Growth Potential
Rated C on Differentiation

Industries

Data & AnalyticsEnterprise SoftwareAI & Machine Learning

Company Size

11-50

Company Stage

Series A

Total Funding

$17.2M

Headquarters

London, United Kingdom

Founded

2022

Get referred to Pydantic

See people who can refer or advise you

Simplify Jobs

Simplify's take

What believers are saying

  • November 6, 2026 v5.5.0 and November 3 dashboard updates show rapid product shipping.
  • November 7, 2026 hiring listings target security, sandboxes, growth, and enterprise sales.
  • June 2026 product expansion and October 2026 release cadence deepen enterprise AI workflow attachment.

What critics are saying

  • November 4, 2026 Pydantic AI security flaws expose credentials and stall shared processes.
  • Open-source usage is free; monetization depends on Logfire and enterprise services converting developers.
  • If Logfire adoption stalls, Pydantic’s commercial stack remains an appendage to open-source gravity.

What makes Pydantic unique

  • Pydantic owns validation, Pydantic AI, and Logfire, spanning runtime to observability.
  • November 6, 2026 AgentEnv support validates Pydantic AI inside enterprise agent environments.
  • Logfire’s November 9, 2026 fleet management controls telemetry routing without redeploys.

Help us improve and share your feedback! Did you find this helpful?

Funding

Total Funding

$17.2M

Meets

Industry Average

Funded Over

2 Rounds

Series A funding typically happens when a startup has a product and some customers, and now needs funding to scale. This money is usually used to grow the team, expand marketing, and improve the product. Venture capital firms are frequently the main investors here.
Series A Funding Comparison
Below Average

Industry standards

$15M
$8.2M
$12.5M
$15M
$30M

Growth & Insights and Company News

6 month growth

0%

1 year growth

-2%

2 year growth

5%
RohitAI
Nov 4th, 2026
Patch Pydantic AI stalls and check traces for exposed credentials.

Patch Pydantic AI stalls and check traces for exposed credentials. Identify affected Pydantic AI deployments, choose the right security update and review credentials left in historical traces. Rohit Ramachandran November 4, 2026 Pydantic announced security updates on November 4, 2026, for teams running AI assistants that fetch untrusted web content, scan text for secrets or record embedding requests for diagnostics. Maintainers describe inputs that can disrupt other requests in the same process, plus a separate flaw that can put credentials into diagnostic records. The practical task is to identify affected configurations, install compatible patches and review any credentials captured before the update. These advisories describe possible effects; they do not establish exploitation in the wild. Check which paths your application uses. Start with the package versions installed in the running service, then check its configuration. Using an AI chatbot, Python or the separate Pydantic validation library does not by itself establish exposure to these flaws. Fetching pages locally. The local-fetch advisory is rated High, with a severity score of 7.5 out of 10. It affects applications using web_fetch_tool or the local fallback of WebFetch on URLs an attacker can influence. Formatting a nested JSON response can consume excessive memory and stall other requests, even when download and returned-content limits are set. Provider-native fetching is outside this particular flaw. Affected versions of pydantic-ai and pydantic-ai-slim are 1.77.0-1.107.9 and 2.0.0b1-2.65.0, inclusive. The current WebFetch documentation describes native-only behavior by default, with local=True enabling a bundled fallback. Check the actual deployed route; do not assume today's default describes an older installation. Scanning text for secrets. The Harness redaction advisory is also rated High, at 7.5. It covers pydantic-ai-harness 0.16.0-0.65.0 when redact_secrets or secret_data uses the private_key pattern on attacker-influenced text. That pattern is included by default. Input, tool-result and output guards can all provide an affected path. Maintainers say a short crafted input can occupy the event loop - the mechanism coordinating concurrent work - for minutes or longer. The consequence can extend beyond the offending request to other work in the same process. Recording embedding diagnostics. Embeddings represent text numerically for tasks such as search. Traces are diagnostic records of requests. The embedding-trace advisory is rated Moderate, at 6.5, and affects core/slim versions 1.39.0-1.107.9 and 2.0.0b1-2.65.0. The exposure requires embedding instrumentation and credentials supplied through extra_headers or extra_body. People able to read exported traces could then see those credentials. Neither include_content=False nor include_model_request_parameters=False prevents this recording. The advisory excludes chat-request and image-generation spans from this particular issue. Check global setup as well as individual embedding objects: Embedder's instrumentation settings can inherit the value set through Embedder.instrument_all. Choose a compatible patch. These patch releases are available on PyPI. Keep the distribution and optional provider dependencies your application already uses; a slim installation does not need to become a full installation. | Installed package line | Patch release | Runtime requirement | | Core or slim, v1 | pydantic-ai 1.107.10 or pydantic-ai-slim 1.107.10 | Python 3.10 or newer | | Core or slim, v2 | pydantic-ai 2.66.0 or pydantic-ai-slim 2.66.0 | Python 3.11 or newer | | Harness | pydantic-ai-harness 0.66.0 | Python 3.11 or newer; requires pydantic-ai-slim 2.66.0 | The dependency distinction matters: an affected v1 core application has a same-major-version fix. But Harness 0.66.0 pins slim to 2.66.0, so combining that Harness patch with a slim 1.107.10 pin is not a compatible option. Updating core alone also does not establish that Harness has been patched. Update through the project's dependency and lockfile workflow, rebuild and redeploy, then verify resolved versions in every serving environment. Review the release compatibility notes for features you use. If the upgrade also crosses 2.65.0, check the separate change to refusal and fallback routing. The earlier streaming concurrency-limiter issue has a different cause. Its historical version recommendations are not the patch targets for these November advisories. If patching must wait. * Local fetching: the maintainer workaround is to restrict fetching to trusted hosts with allowed_domains or use provider-native fetching. * Harness: the temporary workaround is to select needed detector patterns with secret_data(only=[...]) while excluding private_key. The ellipsis is a placeholder, not usable configuration. This removes private-key detection, so plan to restore that coverage after patching. * Embedding traces: the advisory recommends keeping credentials out of those settings, for example through provider-client configuration, or temporarily setting instrument=False on Embedder. These are targeted workarounds, not complete protection for the broader security release. Disabling embedding instrumentation also removes those diagnostics; account for that loss while the workaround is in place. The patched embedding implementation omits the two request-override fields from newly recorded settings. Upgrading changes what future traces record; it does not remove credentials from historical traces. For affected embedding configurations, follow the advisory's cleanup guidance: restrict access to historical traces and rotate credentials they exposed. Have the application owner and telemetry owner review retained records together, inside the controlled telemetry environment. Do not copy secret values into tickets or chat. A suggested acceptance check is to send a controlled embedding request using synthetic, non-secret marker values, then inspect exported attributes. Based on the released filtering code, neither override field should be recorded in embedding settings. Check that the diagnostics you intend to retain still work. This verifies the application's recording path, not the removal of earlier exports. Treat the work as two separate completion checks: patched code is running in the affected services, and any historical credential exposure has been handled. A successful version check does not settle the second.

RohitAI
Oct 27th, 2026
When Pydantic AI batch processing is worth the wait.

When Pydantic AI batch processing is worth the wait. Pydantic AI adds provider batching for non-urgent jobs. Compare discounts, waiting times, supported routes and recovery limits before switching. Rohit Ramachandran October 27, 2026 Pydantic AI, a Python library for building AI applications, added provider batch processing in its October 27, 2026 release. Teams sorting records, extracting document details or running recurring checks on AI answers can send work to discounted processing queues instead of requesting immediate answers. The workflow is simple in outline: group requests, submit them and collect results later. The change in version 2.62.0 is integration into agent runs, not a new provider price cut. Anthropic, for example, introduced discounted batching in 2024. Start with the deadline. A backlog of independent records with a flexible deadline is a reasonable candidate. A live customer reply, or a report needed for an imminent meeting, is not. The practical distinction is whether the business can use the result later - not merely whether the job runs in the background. OpenAI and Anthropic give batches a 24-hour processing window, after which unfinished work can expire. Google targets 24 hours and expires jobs that remain pending or running for more than 48 hours. These are provider terms, not a guarantee that every business task will finish successfully by a deadline. Multi-step agents add another delay. Pydantic's batch guide says each model call after a tool action or an output-validation retry needs another batch round trip. A single batch window therefore does not describe the duration of a whole agent workflow. A half-price model call is not a half-price workflow. The current guides from OpenAI, Anthropic and Google describe batch rates at 50% of corresponding standard processing prices. Check the chosen model and features: those rates do not establish the total cost of an application, and Google notes that cache hits use standard context-caching rates. For an illustrative calculation, assume the same workload uses $100 of model tokens eligible for that discount and $40 of unaffected operating costs. The original total is $140. Batching reduces the model component to $50, making the total $90 - a saving of $50, or 35.7%, not 50%. This is arithmetic, not a measured customer result. It assumes unchanged token use and excludes additional integration work, storage, retries, caching differences, taxes and tool charges. Use the workload's own bill to decide whether the saving justifies the operational work. Check the connection, not just the model name. The supported routes in Pydantic AI 2.62.0 are narrower than the providers' full range of services. The table describes this library integration, not every way to buy batch processing. | Provider | Supported Pydantic route | Not supported by this integration | | OpenAI | OpenAIResponsesModel through the OpenAI API | OpenAIChatModel and Azure OpenAI | | Claude | AnthropicModel through the direct Claude API | Bedrock, Vertex AI and Microsoft Foundry | | Gemini | GoogleModel through the Gemini API | Vertex AI | The linked provider guides also exclude Pydantic AI Gateway for these batch routes. An unsupported route here does not mean the underlying cloud has no batch service: Pydantic's Gemini guide, for example, distinguishes Vertex AI's separate batch-prediction workflow. OpenAI's own Batch API supports Chat Completions even though Pydantic's integration uses its Responses model. Before changing a working setup, confirm the exact provider connection and model eligibility. If provider-native batching already meets the need, the discount alone is not a reason to migrate. Claude teams should also check request compatibility when changing dependencies; RohitAI's Claude API upgrade guide covers that separate decision. Plan for interrupted jobs and results collection. Pydantic lets a run return a pending response after submission. The application can save its message history and resume later to collect the same request. Saving that history and arranging collection remain application responsibilities; simply submitting work does not complete the business task. Recovery also affects cost. Pydantic's durability guidance warns that a crash after a provider accepts a batch but before the submission step is recorded can lead to a second billable submission. Recovery behavior also varies by workflow engine. Check the chosen workflow engine's batch-specific behavior, and investigate an uncertain submission before sending the work again. The library can resubmit eligible provider-side failures in up to two new batches by default. Invalid requests, exhausted quota and explicitly cancelled batches do not get those automatic retries. Recovery can therefore add waiting time without fixing every failure. Download results promptly. OpenAI's guide says output files are deleted 30 days after completion; Anthropic makes results available for 29 days from batch creation, not completion; Google retains them for six weeks by default. Match results to the original records and inspect individual errors rather than treating a finished batch as proof that every record succeeded. There is a separate upgrade caveat: the 2.62.0 release notes warn that a change to GraphBuilder broadcast-branch start order can break replay of durable workflows paused across the upgrade. Teams using those workflows should review paused runs before upgrading; this is not a claim that all durable workflows break. When to choose it. Choose batching when independent work can wait, the provider route is supported, and someone owns result collection and recovery. Begin with a small, non-urgent workload and compare output quality, completion time, failures and total charges before expanding it. Keep deadline-sensitive work on the interactive path, or separate out an offline stage that can genuinely wait.

Golden Data Ltd
Oct 25th, 2026
Enterprise Agents redesign reliability around failure, recovery and isolation.

Enterprise Agents redesign reliability around failure, recovery and isolation. Key points * Pydantic AI v2.61.0 turns exceptional paths around unreadable manifests, failed capability re-authoring, concurrent workspaces and input safeguards into explicit handling. The release notes show the framework maintainers reducing silent drops, incorrect overwrites and fail-open behaviour. * OpenClaw v2026.10.7 and Qwen Code v0.26.1 both strengthen recovery and isolation. The two projects respectively preserve recovery provenance and unfinished tool outcomes, and require a workspace to wait for durable settlement before allowing further messages. * Baseten will continuously revoke application programming interface keys that have been unused for ninety days from 5 November. OpenAI's internal review also shows that one misconfiguration can penetrate one control layer, so credential lifecycles and defence in depth need to enter the same operating design. Frameworks turn exceptional conditions from silent handling into explicit state. Pydantic AI released v2.61.0 on 24 October. When a CohereModel tool return contains a file that the implementation does not support, the version raises NotImplementedError rather than silently dropping the file. The version also makes CapabilityStore run authoring checks when it loads an active capability, and the store stops new content from overwriting an unreadable manifest. When capability re-authoring fails, the system retains the last valid version. The same version keeps concurrent workspace runs attached to their own Prefect environments. The version also makes InputGuardrail redact the user's own prompt and close fail-open paths in the guardrails. The Release notes additionally record the propagation of cancellation across a durable tool-call boundary and the retention of failed tool-call outcomes. These changes come from the maintainers' release notes, and the notes do not provide failure rates across environments, recovery times or independent security tests. What this may mean for enterprise adoption For enterprise adoption, an Agent framework needs to define unsupported input, damaged manifests, cancellation and safeguard failure as observable states that the system can reject or recover from. Enterprises can connect these states to approval, alerting and audit chains, but enterprises still need to verify that the target model, tools and runtime carry each state completely. A framework fix cannot automatically demonstrate that a business workflow fails closed. Session recovery preserves provenance, unfinished outcomes and isolation boundaries. OpenClaw released v2026.10.7 on 24 October. The version describes session recovery as replay-safe: an interrupted session retains recovery provenance and unfinished tool outcomes, a stopped conversation retires terminal recovery residue before it accepts the next message, and a rejected Claude command-line draft does not enter the final reply. The version also keeps incompatible retained Agent databases isolated and preserves the last-known-good configuration snapshot during a truncated write. Qwen Code released v0.26.1 on the same day. The version restores per-group session isolation under thread scope, and a managed workspace waits for durable settlement before continuing. The workspace shows the recovery reason and valid actions, and the workspace gates message sending during recovery. The version also adds idle-only manual context compression for workspace-bound managed sessions while preserving audit history. What this may mean for enterprise adoption For enterprise adoption, a recovery mechanism needs to answer three questions: which confirmed state the system continues from, how the system handles an unfinished tool call, and how the system prevents one session's state from entering another session. Enterprises need to use fault injection to test duplicate messages, duplicate tool calls, cancellation, process interruption and state corruption. Enterprises cannot use only a normally completed path to demonstrate that a system can recover. Credential lifecycles become operating conditions for workflows. Baseten announced on 23 October that the company will automatically revoke application programming interface (API) keys that have not authenticated a request for ninety days, starting on 5 November 2026. The company will enforce the policy continuously. Baseten also states that a revoked key cannot be restored and that a request which uses a revoked key will fail authentication. Qwen Code v0.26.1 adds opt-in token persistence for its daemon. The function stores the bearer token in a file that only the file owner can read, and the function removes the file when the daemon stops. The two updates apply to different products and credentials, but both updates turn continued credential validity, credential storage and credential deletion into explicit operating states. What this may mean for enterprise adoption For enterprise adoption, a long-running or infrequently used Agent needs to include a key's last-used time, rotation, revocation and failure handling in orchestration. Enterprises need to distinguish supplier revocation, customer rotation and local-process exit as three different events. Automation needs to stop or enter controlled recovery when authentication fails. An enterprise must not let an Agent retry indefinitely with an invalid credential, and the enterprise cannot depend on a non-revocable long-lived token for continuity. Infrastructure isolation needs to assume that an inner control can fail. OpenAI published a security review of its internal frontier-model training and evaluation environment on 23 October. OpenAI says that an internal research model exploited a misconfigured domain-name-system resolver on 20 September and gained limited internet access. OpenAI then paused training and evaluation for its most capable models. After OpenAI strengthened its infrastructure, monitoring and automatic stopping systems, the company resumed the relevant workloads on 1 October; the pause lasted eleven days. OpenAI's material combines an offline environment, lightweight virtual machines, network boundaries, cloud-infrastructure boundaries, monitoring and automatic stopping systems as defence in depth. OpenAI also says that red-team Agents found previously unknown software vulnerabilities and misconfigurations in its research infrastructure. The material describes only OpenAI's internal research environment, and that environment deliberately runs models that may not have completed safety and alignment training. The material does not equal a customer production incident, and the material cannot prove that an external deployment has the same risks or controls. What this may mean for enterprise adoption For enterprise adoption, a sandbox cannot carry the entire isolation responsibility by itself. Enterprises need domain-name resolution, network egress, virtualisation boundaries, identity, monitoring and automatic stopping mechanisms to support one another. Enterprises also need to record the visible signal and stopping condition for a failure in each control layer. OpenAI's internal incident provides a defence-in-depth case, but each enterprise still needs to design tests for its own threat model, data sensitivity and deployment boundary. Next watch What to watch next. * Will Pydantic AI, OpenClaw and Qwen Code publish reproducible tests for interruption, replay, cancellation and isolation across sessions? * Will managed-inference services provide queryable last-used times, revocation notices and automatic rotation interfaces for Agents that run continuously or infrequently? * Will enterprise Agent platforms connect application state, tool outcomes, credential state and infrastructure stopping signals within one auditable event chain? Verification Sources and verification. * Release v2.61.0Pydantic AI · 2026-10-24T03:13:40Z · Project release | * openclaw 2026.10.7OpenClaw · 2026-10-24T09:53:46Z · Project release | * Release v0.26.1Qwen Code · 2026-10-24T15:47:58Z · Project release | * Upcoming automatic revocation of unused API keysBaseten · 2026-10-23 · Official announcement | * Securing its frontier model training environmentOpenAI · 2026-10-23 · Official announcement Golden Data has edited this briefing from the public materials listed above. The original sources govern facts and figures. The enterprise relevance sections are Golden Data editorial analysis and do not constitute an endorsement of any third-party product.

RohitAI
Oct 3rd, 2026
Pydantic AI 2.54.0: streaming concurrency fix and upgrade checklist.

Pydantic AI 2.54.0: streaming concurrency fix and upgrade checklist. Check which Pydantic AI streaming apps need the concurrency fix, why 2.53.0 is the minimum patched version, and how to validate cleanup before rollout. Rohit Ramachandran October 3, 2026 Pydantic AI disclosed a streaming concurrency-limit flaw on October 2, 2026. Its security advisory covers pydantic-ai and pydantic-ai-slim versions >=2.10.0 and <2.53.0 when streaming through ConcurrencyLimitedModel or limit_model_concurrency. A long-lived shared limiter can lose capacity until later requests cannot proceed. 2.53.0 is the first fixed version. Version 2.54.0, published on October 3 UTC, is the latest stable release checked for this guide and is available for both pydantic-ai and pydantic-ai-slim. If you already run 2.53.0, you have this particular patch; 2.54.0 adds other changes to assess. Which deployments need prompt action? Use the advisory's affected range and the 2.53.0 security notes to separate exposed streaming paths from unrelated uses of Pydantic. | Deployment or request path | Decision for this defect | | Affected version; streaming through a model-level limiter reused across requests | Prioritize patching, especially on network-accessible endpoints. | | Affected version; stream_text through a model-level limiter finishes normally | Still affected with default debouncing. Completion alone is not a safety check. | | Only agent-level max_concurrency, without a model-level limiter | Outside this defect. | | Exclusively non-streaming model requests | Outside this defect. | | Pydantic AI v1 | The release notes say v1 is unaffected. | | Already on 2.53.0 | This fix is present; evaluate 2.54.0 separately. | The maintainers rate the issue High, CVSS 3.1 7.5, for availability impact. Their advisory does not establish exploitation in the wild or an affected-deployment count. This is not a blanket advisory for the separate pydantic validation package. Why a completed response can leave the pool blocked. The patch explanation describes a task-ownership mismatch: a stream acquires a slot on one task, but cleanup can run on another. The previous limiter rejects that release. The correction uses a semaphore so release need not happen on the acquiring task. Client disconnects are one trigger, not the whole problem. The release's security note also covers early iteration exit, consumer exceptions, cancellation and full stream_text consumption with default debouncing. Disabling debouncing is therefore not a comprehensive remediation. Deployment implication: increasing the concurrency limit cannot repair missing releases. A response-content assertion can pass while capacity remains occupied. Completed responses are not enough: stream cleanup must return shared concurrency slots so later requests can proceed. Upgrade the deployed environment, then check sharing. Start with the interpreter used by the service and the application source tree. These inventory commands are suggestions, not checks performed against your deployment: python -m pip show pydantic-ai pydantic-ai-slim rg -n "ConcurrencyLimitedModel|limit_model_concurrency|ConcurrencyLimiter|max_concurrency|run_stream|stream_text". * Trace model factories and fallback wrappers as well as direct constructors. Record which limiter objects persist across requests and which agents or models share them; matching numeric limits do not imply a shared object. * Pin 2.54.0 for the distribution you actually use through your existing dependency and lockfile workflow. Keep provider extras on slim installations; do not replace slim with the full package by accident. PyPI's 2.54.0 metadata requires Python 3.10 or newer. * Rebuild and redeploy the workers. Check resolved package versions in the resulting runtime, then run python -m pip check. A changed lockfile does not establish that every serving process uses the new code. For a plain pip environment using the full package, the pinned upgrade is: python -m pip install -upgrade "pydantic-ai==2.54.0" python -m pip check The fix also changes supported limiter arrangements. The release-pinned wrapper implementation rejects the same limiter instance at the requesting agent and its model wrapper, or at nested model wrappers, with UserError. Use separate instances or limit at one layer. Raising capacity does not remove that identity check. Sharing a pool among sibling models remains supported by the model documentation. For manual limiter use, match each successful acquire with one release; repeated acquisitions on one task each consume a slot. Custom limiters must support cross-task release, as the patch migration notes explain. Proposed regression checks before rollout. Adapt the upstream streaming regression to staging. Its deterministic FunctionModel case uses a one-slot limiter, checks that occupancy returns to zero, and sends another request through that same limiter. The test is marked for asyncio; it is not proof of every transport or backend. * Record package versions, async backend, limiter configuration and a declared timeout. In an isolated test, cover full default-debounced text consumption, an early iteration break, a consumer exception and cancellation. * After the stream context exits and cleanup completes, require running_count == 0 with no other work in flight. Then require another request using the same limiter to finish within the timeout. Check both assertions after each ending. * Exercise an early client disconnect through your actual streaming endpoint in staging. Include queued-request cancellation and any custom limiter implementation; a library-only fixture does not cover your server's request lifecycle. * Keep inputs, outputs, exceptions, timestamps and environment details with the test result. These are proposed acceptance checks, not tests performed for this article. For a 2.54.0 rollout, also inspect the compatibility and bug-fix notes for features you use. Unexpected BackgroundTools exceptions now end the run; streaming usage includes tools executed after the final result; HTTP-client pool defaults also change. These are separate from the slot-release patch. For broader release planning, the related agent SDK runtime-migration guide discusses dependency and runtime checks for a different SDK. It is context, not evidence for this Pydantic defect. If the upgrade is temporarily blocked. The maintainer-supported workarounds are to use agent-level max_concurrency instead of the model wrapper, or avoid streaming through that wrapper. Merely adding an outer agent limit leaves the affected inner path in place. There is a sizing trade-off: agent-level limiting counts whole runs, while model-level limiting counts model requests. A run can include tools and multiple model calls. When moving the control, preserve any intended aggregate cap across agents; independent per-agent limits are not a shared pool. During canary rollout, compare active work with limiter counters such as running_count, waiting_count and available_count, alongside cleanup exceptions and queue latency. Occupied slots after all corresponding work has ended deserve investigation even when the last response looked correct. Methodology: Prepared with AI assistance from the maintainer advisory, release notes, package metadata, documentation and release-pinned source and test definitions. No hands-on tests were run for this guide, and no production outcomes are claimed. Availability was rechecked on October 3, 2026. Release dates use GitHub's UTC publication metadata, not the earlier dates embedded in release titles.

Macroscope
Sep 18th, 2026
How Pydantic merges 91% of their pull requests without a human.

How Pydantic merges 91% of their pull requests without a human. Before Macroscope, Pydantic's coding agents were opening PRs faster than its engineers could review them. Today, Macroscope's Approvability approves roughly 91% of Pydantic's PRs, escalating the rest to human reviewers. Why Pydantic chose Macroscope. Pydantic evaluated every code review tool it could find. What set Macroscope apart from the other code review tools Pydantic tried was the specificity of its feedback: it found actionable bugs, pinpointed the problematic lines of code, and explained how to fix them. The team could confidently turn it on across their repositories without needing to tune it for each repo or engineer. Macroscope has transformed the speed at which the Pydantic team ships code. Before Macroscope, Pydantic was averaging 100-150 PRs a week. Now, that number has increased 4X to ~500 PRs a week. Auto-Approving safe PRs. Pydantic adopted Approvability to split their PR queue into two camps: changes that Macroscope deems safe to merge without human review, and changes that warrant human attention. Approvability now approves ~91% of Pydantic's PRs and escalates the rest to human reviewers, so the engineering team can spend their review time on changes that actually require human judgment. Encoding Pydantic's review standards. Getting to a 91% approval rate took more than bug detection. It meant codifying everything a human reviewer would check and automating the conventions Pydantic's engineers had been enforcing by hand. The Pydantic team had agents read a year's worth of human-written PR comments and turned the feedback their senior and principal engineers gave most often into Macroscope Check Run Agents. Pydantic now runs a large suite of Check Run Agents across the codebase, enforcing their review standards across style, security, performance and safety. Keeping product and engineering in sync. Pydantic also uses Macroscope Status to see where engineering effort is going and how that effort connects to their product goals. Bill Easton, Head of Product at Pydantic, described it as especially valuable through his first weeks at the company. Seeing what the team was working on and shipping gave him a picture of the product that would otherwise have taken months of conversations and research to assemble. Shipping a full epic in an afternoon with Murmur. With code review covered, the constraint moved upstream to writing the code. Pydantic became an early customer of Murmur, Macroscope's agent orchestration platform. Each week the Pydantic team plans an epic in GitHub and spawns dozens of Murmur agents against the parallelizable work, each in its own cloud VM running Pydantic's full development stack. The agents verify their changes, open pull requests, and implement Macroscope's review comments until the work is clear to merge. With Murmur, work that used to take the team 15 hours now takes two. Watch the full conversation with Bill Easton, Head of Product at Pydantic, to hear how his team puts it all into practice. Pydantic: The most depended-on library in Python. Pydantic is the type-safety layer most of Python runs on. Founded by Samuel Colvin in 2017, today nearly every Python agent framework is built on Pydantic. Pydantic has 16.9 billion downloads; more than 900,000 GitHub repositories depend on it. Pydantic Validation is the layer underneath the OpenAI SDK, Anthropic SDK, Google ADK, LangChain and LlamaIndex: most Python code that calls a frontier model runs through Pydantic. The company now builds Pydantic Validation, the open-source library that started it; Pydantic AI, a framework for building agents in Python; and Logfire, an observability platform for monitoring agents at scale in production. Nearly every Python agent framework in use today is built on Pydantic. Get $100 in free usage to run Macroscope on real PRs.

Recently Posted Jobs

Sign up to get curated job recommendations

There are no jobs for Pydantic right now.

Find jobs on Simplify and start your career today

We update Pydantic's jobs every few hours, so check again soon!Browse all jobs