Skip to content

chore(deps): Bump pydantic from 2.14.2 to 2.14.3 - #242

Merged
github-actions[bot] merged 1 commit into
mainfrom
dependabot/uv/pydantic-2.14.3
Nov 9, 2026
Merged

github-actions[bot] merged 1 commit into
mainfrom
dependabot/uv/pydantic-2.14.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 9, 2026

Copy link
Copy Markdown
Contributor

Bumps pydantic from 2.14.2 to 2.14.3.

Release notes

Sourced from pydantic's releases.

v2.14.3 2026-11-04

v2.14.3 (2026-11-04)

What's Changed

Packaging

  • Build wheels for GraalPy 3.13 by @​msimacek in #14136.

    The previous v2.14.2 release published GraalPy 3.11 wheels, which were not working due to a PyO3 version bump. A CI workflow issue made it so that the wheel wasn't tested before publishing. This is now fixed: starting in v2.14.3, we no longer publish GraalPy 3.11 wheels, and GraalPy 3.13 wheels are now published together with the existing 3.12 one.

Performance

Fixes

  • Fix various issues about GC tracking in pydantic-core by @​Viicos in #13819
  • Include null in serialization JSON Schema for unless-none field serializers by @​Kropiunig in #13848
  • Fix RecursionError when copying or unpickling models with defer_build by @​Viicos in #14115
  • Remove dead default_factory check in unsupported Field() attribute by @​owtaylor in #14129
  • Disallow non string extra keys during validation by @​Viicos in #14135
  • Fix deeply nested data being reported as a cyclic reference by @​Viicos in #14164

New Contributors

Changelog

Sourced from pydantic's changelog.

v2.14.0 (2026-10-08)

GitHub release

What's Changed

The highlights of the v2.14 release are available in the blog post. Several minor changes (considered non-breaking changes according to our versioning policy) are also included in this release. Make sure to look into them before upgrading.

This release drops support for Python 3.9 and adds support for Python 3.15.

New Features

  • Add support for multiple_of constraint in fraction and timedelta core schemas by @​Viicos in #13873
  • Add __namespace__ parameter to create_model() by @​Viicos in #13895

Changes

Fixes

  • Call enum constructors in both validation modes by @​Viicos in #13792
  • Fix documentation examples not raising and remove unused string_sub_type unused error code by @​Viicos in #13821
  • Catch OverflowError during ByteSize validation by @​Viicos in #13850
  • Require multiple_of constraints to be positive by @​Viicos in #13862
  • Always pop field name and model type stacks during schema generation by @​saquibjawedbit in #13859
  • Handle TypeError gracefully during docstring extraction by @​Viicos in #13874
  • Fix config propagation of stdlib dataclasses and TypedDicts in JSON Schema by @​Viicos in #13891
  • Don't apply ser_json_timedelta to all datetime types in serialization inference by @​Viicos in #13892
  • Encode JSON Schema defaults with a consistent configuration by @​Viicos in #13893
  • Propagate init and kw_only=False from Field() to stdlib dataclass fields by @​Viicos in #13898
  • Respect propagated extra config in the JSON Schema of stdlib dataclasses by @​Viicos in #13899
  • Handle OS errors during ZoneInfo validation by @​Viicos in #13912
  • Handle exceptions during Decimal validation by @​Viicos in #13940
  • Rebuild incomplete types during serialization inference by @​Viicos in #13922
  • Reject large exponents in Fraction validation by @​Viicos in #13944
  • Avoid validating URL prefix multiple times in multi host URLs by @​Viicos in #13945

New Contributors

... (truncated)

Commits
  • ea492e0 Bump pydantic-core to v2.50.4
  • 4f4a33f Prepare release v2.14.3
  • dca067b Benchmark TypedDict schema generation across builds
  • a2d1f6c Skip annotation handler setup when annotations are empty
  • 3ae0a40 Construct builtin scalar union schemas directly
  • 358d36f Skip general schema dispatch for builtin scalars
  • 3cc701a Improve schema generation for fixed type handlers
  • 762db7e Remove redundant None check in union schema generation
  • c214986 Bump pytest-codspeed to v5.0.4
  • 038ee97 Bump typing-inspection to v0.4.5
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.14.2 to 2.14.3.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](pydantic/pydantic@v2.14.2...v2.14.3)

---
updated-dependencies:
- dependency-name: pydantic
  dependency-version: 2.14.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Nov 9, 2026
@github-actions
github-actions Bot enabled auto-merge (squash) November 9, 2026 01:35
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
pip/pydantic 2.14.3 UnknownUnknown
pip/pydantic-core 2.50.4 🟢 6.6
Details
CheckScoreReason
Code-Review🟢 3Found 10/28 approved changesets -- score normalized to 3
Maintained🟢 1030 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Pinned-Dependencies🟢 8dependency not pinned by hash detected -- score normalized to 8
License🟢 10license file detected
Fuzzing🟢 10project is fuzzed
Branch-Protection🟢 3branch protection is not maximal on development and all release branches
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 10security policy file detected
Packaging🟢 10packaging workflow detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0

Scanned Files

  • uv.lock

@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown

📊 Coverage Report

✅ Total Coverage: 94.63% (threshold: 89%)

Metric Value
Statements 8753
Covered 8283
Missing 470
📋 Per-File Coverage (click to expand)

(sorted by coverage, lowest first)

File Coverage Missing Lines
time_parsing.py 86.73% 13 49,50,51,55,57...
commands/runs/usage_cmd.py 88.55% 45 130,152,159,160,224...
archive/models.py 89.53% 18 69,74,105,117,155...
commands/runs/get_cmd.py 90.34% 20 141,276,278,283,322...
run_helpers.py 91.3% 12 73,358,366,370,373...
field_analysis.py 91.43% 24 106,119,120,121,122...
commands/runs/export_cmd.py 91.57% 7 150,171,195,234,235...
commands/runs/list_cmd.py 91.57% 29 196,198,202,204,208...
commands/archive.py 92.07% 18 113,114,116,139,222...
archive/query.py 92.5% 12 94,100,103,106,136...
archive/backfill.py 92.73% 4 41,43,56,109
archive/parquet.py 92.75% 10 132,158,159,160,161...
archive/repository.py 92.97% 9 73,76,77,78,79...
filters.py 93.0% 14 54,122,172,194,208...
commands/runs/analyze_cmd.py 93.14% 12 206,207,208,308,310...
dataset_replica/repository.py 93.23% 38 280,338,339,353,396...
archive/storage.py 93.24% 14 263,264,265,333,345...
local_traces/transfer.py 93.42% 5 40,89,94,155,168
local_traces/repository.py 93.69% 13 112,116,120,298,299...
cache.py 94.12% 6 43,45,91,157,197...
project_resolution.py 94.4% 15 77,111,346,427,547...
commands/runs/watch_cmd.py 94.44% 5 89,97,131,132,186
commands/datasets.py 94.71% 12 403,404,405,411,413...
archive/sync.py 94.76% 26 110,111,112,113,114...
dataset_replica/versioning.py 95.0% 2 23,59
filtering.py 95.26% 10 587,677,681,682,683...
commands/runs/search_cmd.py 95.45% 6 152,338,377,391,408...
commands/projects.py 95.76% 7 233,237,238,239,241...
commands/self_cmd.py 95.76% 10 57,72,81,83,308...
archive/bulk.py 95.81% 15 139,145,179,253,399...
archive/duckdb.py 96.15% 3 91,112,206
dataset_replica/models.py 96.15% 3 102,104,111
output.py 96.32% 6 36,38,224,226,335...
commands/experiments.py 96.51% 3 39,45,50
commands/examples.py 97.31% 5 180,199,201,399,400
trace_query.py 97.67% 1 49
commands/runs/pricing_cmd.py 97.76% 5 211,299,300,362,398
dataset_replica/query.py 98.01% 3 311,314,317
main.py 98.43% 4 30,293,294,500
commands/runs/discovery_cmd.py 98.61% 2 208,418
dataset_replica/service.py 98.84% 1 56
commands/annotation_queues.py 98.88% 1 167
commands/prompts.py 99.02% 2 350,411
__init__.py 100.0% 0
archive/__init__.py 100.0% 0
archive/config.py 100.0% 0
cli_logging.py 100.0% 0
commands/auth.py 100.0% 0
commands/feedback.py 100.0% 0
commands/runs/__init__.py 100.0% 0
commands/runs/_group.py 100.0% 0
commands/runs/cache_cmd.py 100.0% 0
commands/runs/pull_cmd.py 100.0% 0
commands/runs/stats_cmd.py 100.0% 0
config.py 100.0% 0
dataset_replica/__init__.py 100.0% 0
dataset_replica/cli.py 100.0% 0
dataset_replica/contracts.py 100.0% 0
dataset_resolution.py 100.0% 0
local_traces/__init__.py 100.0% 0
local_traces/models.py 100.0% 0
local_traces/service.py 100.0% 0
utils.py 100.0% 0
🤖 AI-Parseable Data (JSON)
{
  "schema_version": "1.0",
  "format": "langsmith-cli-coverage",
  "totals": {
    "statements": 8753,
    "missing": 470,
    "covered": 8283,
    "percent": 94.63,
    "threshold": 89,
    "status": "pass"
  },
  "files": [
    {
      "path": "src/langsmith_cli/time_parsing.py",
      "statements": 98,
      "missing": 13,
      "covered": 85,
      "percent": 86.73,
      "missing_lines": [
        49,
        50,
        51,
        55,
        57,
        58,
        59,
        60,
        61,
        62,
        64,
        66,
        151
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/usage_cmd.py",
      "statements": 393,
      "missing": 45,
      "covered": 348,
      "percent": 88.55,
      "missing_lines": [
        130,
        152,
        159,
        160,
        224,
        225,
        226,
        227,
        228,
        229,
        230,
        231,
        232,
        234,
        235,
        236,
        237,
        265,
        315,
        466,
        497,
        498,
        505,
        522,
        535,
        555,
        556,
        562,
        572,
        576,
        627,
        628,
        629,
        630,
        631,
        639,
        679,
        682,
        702,
        703,
        704,
        705,
        770,
        771,
        772
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/models.py",
      "statements": 172,
      "missing": 18,
      "covered": 154,
      "percent": 89.53,
      "missing_lines": [
        69,
        74,
        105,
        117,
        155,
        176,
        180,
        183,
        187,
        203,
        215,
        217,
        219,
        229,
        303,
        304,
        306,
        315
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/get_cmd.py",
      "statements": 207,
      "missing": 20,
      "covered": 187,
      "percent": 90.34,
      "missing_lines": [
        141,
        276,
        278,
        283,
        322,
        398,
        399,
        400,
        413,
        420,
        421,
        422,
        423,
        481,
        489,
        490,
        493,
        494,
        495,
        519
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/run_helpers.py",
      "statements": 138,
      "missing": 12,
      "covered": 126,
      "percent": 91.3,
      "missing_lines": [
        73,
        358,
        366,
        370,
        373,
        376,
        379,
        382,
        386,
        387,
        390,
        391
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/field_analysis.py",
      "statements": 280,
      "missing": 24,
      "covered": 256,
      "percent": 91.43,
      "missing_lines": [
        106,
        119,
        120,
        121,
        122,
        133,
        135,
        136,
        137,
        138,
        139,
        140,
        141,
        142,
        144,
        145,
        146,
        147,
        243,
        273,
        275,
        417,
        540,
        548
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/export_cmd.py",
      "statements": 83,
      "missing": 7,
      "covered": 76,
      "percent": 91.57,
      "missing_lines": [
        150,
        171,
        195,
        234,
        235,
        252,
        253
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/list_cmd.py",
      "statements": 344,
      "missing": 29,
      "covered": 315,
      "percent": 91.57,
      "missing_lines": [
        196,
        198,
        202,
        204,
        208,
        212,
        292,
        293,
        294,
        297,
        298,
        597,
        683,
        708,
        710,
        711,
        714,
        785,
        855,
        895,
        909,
        915,
        925,
        926,
        928,
        931,
        932,
        933,
        952
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/archive.py",
      "statements": 227,
      "missing": 18,
      "covered": 209,
      "percent": 92.07,
      "missing_lines": [
        113,
        114,
        116,
        139,
        222,
        230,
        330,
        331,
        332,
        333,
        461,
        462,
        477,
        478,
        517,
        518,
        519,
        523
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/query.py",
      "statements": 160,
      "missing": 12,
      "covered": 148,
      "percent": 92.5,
      "missing_lines": [
        94,
        100,
        103,
        106,
        136,
        139,
        144,
        146,
        148,
        286,
        311,
        323
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/backfill.py",
      "statements": 55,
      "missing": 4,
      "covered": 51,
      "percent": 92.73,
      "missing_lines": [
        41,
        43,
        56,
        109
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/parquet.py",
      "statements": 138,
      "missing": 10,
      "covered": 128,
      "percent": 92.75,
      "missing_lines": [
        132,
        158,
        159,
        160,
        161,
        173,
        225,
        255,
        256,
        257
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/repository.py",
      "statements": 128,
      "missing": 9,
      "covered": 119,
      "percent": 92.97,
      "missing_lines": [
        73,
        76,
        77,
        78,
        79,
        96,
        160,
        183,
        199
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/filters.py",
      "statements": 200,
      "missing": 14,
      "covered": 186,
      "percent": 93,
      "missing_lines": [
        54,
        122,
        172,
        194,
        208,
        229,
        230,
        318,
        340,
        342,
        350,
        352,
        354,
        356
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/analyze_cmd.py",
      "statements": 175,
      "missing": 12,
      "covered": 163,
      "percent": 93.14,
      "missing_lines": [
        206,
        207,
        208,
        308,
        310,
        333,
        548,
        549,
        550,
        553,
        584,
        585
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/dataset_replica/repository.py",
      "statements": 561,
      "missing": 38,
      "covered": 523,
      "percent": 93.23,
      "missing_lines": [
        280,
        338,
        339,
        353,
        396,
        456,
        475,
        476,
        483,
        486,
        488,
        542,
        544,
        575,
        604,
        795,
        804,
        811,
        832,
        892,
        893,
        959,
        963,
        981,
        1006,
        1012,
        1013,
        1014,
        1030,
        1051,
        1098,
        1101,
        1147,
        1148,
        1158,
        1229,
        1242,
        1252
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/storage.py",
      "statements": 207,
      "missing": 14,
      "covered": 193,
      "percent": 93.24,
      "missing_lines": [
        263,
        264,
        265,
        333,
        345,
        347,
        348,
        349,
        350,
        353,
        354,
        356,
        357,
        358
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/local_traces/transfer.py",
      "statements": 76,
      "missing": 5,
      "covered": 71,
      "percent": 93.42,
      "missing_lines": [
        40,
        89,
        94,
        155,
        168
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/local_traces/repository.py",
      "statements": 206,
      "missing": 13,
      "covered": 193,
      "percent": 93.69,
      "missing_lines": [
        112,
        116,
        120,
        298,
        299,
        308,
        328,
        353,
        355,
        381,
        382,
        384,
        469
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/cache.py",
      "statements": 102,
      "missing": 6,
      "covered": 96,
      "percent": 94.12,
      "missing_lines": [
        43,
        45,
        91,
        157,
        197,
        206
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/project_resolution.py",
      "statements": 268,
      "missing": 15,
      "covered": 253,
      "percent": 94.4,
      "missing_lines": [
        77,
        111,
        346,
        427,
        547,
        548,
        553,
        554,
        555,
        558,
        656,
        657,
        659,
        751,
        767
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/watch_cmd.py",
      "statements": 90,
      "missing": 5,
      "covered": 85,
      "percent": 94.44,
      "missing_lines": [
        89,
        97,
        131,
        132,
        186
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/datasets.py",
      "statements": 227,
      "missing": 12,
      "covered": 215,
      "percent": 94.71,
      "missing_lines": [
        403,
        404,
        405,
        411,
        413,
        414,
        415,
        416,
        417,
        418,
        529,
        530
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/sync.py",
      "statements": 496,
      "missing": 26,
      "covered": 470,
      "percent": 94.76,
      "missing_lines": [
        110,
        111,
        112,
        113,
        114,
        115,
        116,
        123,
        280,
        303,
        500,
        537,
        550,
        552,
        565,
        579,
        580,
        903,
        914,
        956,
        1014,
        1016,
        1045,
        1060,
        1067,
        1098
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/dataset_replica/versioning.py",
      "statements": 40,
      "missing": 2,
      "covered": 38,
      "percent": 95,
      "missing_lines": [
        23,
        59
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/filtering.py",
      "statements": 211,
      "missing": 10,
      "covered": 201,
      "percent": 95.26,
      "missing_lines": [
        587,
        677,
        681,
        682,
        683,
        684,
        685,
        698,
        793,
        833
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/search_cmd.py",
      "statements": 132,
      "missing": 6,
      "covered": 126,
      "percent": 95.45,
      "missing_lines": [
        152,
        338,
        377,
        391,
        408,
        454
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/projects.py",
      "statements": 165,
      "missing": 7,
      "covered": 158,
      "percent": 95.76,
      "missing_lines": [
        233,
        237,
        238,
        239,
        241,
        249,
        359
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/self_cmd.py",
      "statements": 236,
      "missing": 10,
      "covered": 226,
      "percent": 95.76,
      "missing_lines": [
        57,
        72,
        81,
        83,
        308,
        309,
        404,
        452,
        453,
        454
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/bulk.py",
      "statements": 358,
      "missing": 15,
      "covered": 343,
      "percent": 95.81,
      "missing_lines": [
        139,
        145,
        179,
        253,
        399,
        412,
        434,
        565,
        604,
        650,
        676,
        682,
        689,
        696,
        703
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/duckdb.py",
      "statements": 78,
      "missing": 3,
      "covered": 75,
      "percent": 96.15,
      "missing_lines": [
        91,
        112,
        206
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/dataset_replica/models.py",
      "statements": 78,
      "missing": 3,
      "covered": 75,
      "percent": 96.15,
      "missing_lines": [
        102,
        104,
        111
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/output.py",
      "statements": 163,
      "missing": 6,
      "covered": 157,
      "percent": 96.32,
      "missing_lines": [
        36,
        38,
        224,
        226,
        335,
        454
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/experiments.py",
      "statements": 86,
      "missing": 3,
      "covered": 83,
      "percent": 96.51,
      "missing_lines": [
        39,
        45,
        50
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/examples.py",
      "statements": 186,
      "missing": 5,
      "covered": 181,
      "percent": 97.31,
      "missing_lines": [
        180,
        199,
        201,
        399,
        400
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/trace_query.py",
      "statements": 43,
      "missing": 1,
      "covered": 42,
      "percent": 97.67,
      "missing_lines": [
        49
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/pricing_cmd.py",
      "statements": 223,
      "missing": 5,
      "covered": 218,
      "percent": 97.76,
      "missing_lines": [
        211,
        299,
        300,
        362,
        398
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/dataset_replica/query.py",
      "statements": 151,
      "missing": 3,
      "covered": 148,
      "percent": 98.01,
      "missing_lines": [
        311,
        314,
        317
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/main.py",
      "statements": 255,
      "missing": 4,
      "covered": 251,
      "percent": 98.43,
      "missing_lines": [
        30,
        293,
        294,
        500
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/discovery_cmd.py",
      "statements": 144,
      "missing": 2,
      "covered": 142,
      "percent": 98.61,
      "missing_lines": [
        208,
        418
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/dataset_replica/service.py",
      "statements": 86,
      "missing": 1,
      "covered": 85,
      "percent": 98.84,
      "missing_lines": [
        56
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/annotation_queues.py",
      "statements": 89,
      "missing": 1,
      "covered": 88,
      "percent": 98.88,
      "missing_lines": [
        167
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/prompts.py",
      "statements": 205,
      "missing": 2,
      "covered": 203,
      "percent": 99.02,
      "missing_lines": [
        350,
        411
      ],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/__init__.py",
      "statements": 0,
      "missing": 0,
      "covered": 0,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/__init__.py",
      "statements": 0,
      "missing": 0,
      "covered": 0,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/archive/config.py",
      "statements": 71,
      "missing": 0,
      "covered": 71,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/cli_logging.py",
      "statements": 39,
      "missing": 0,
      "covered": 39,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/auth.py",
      "statements": 25,
      "missing": 0,
      "covered": 25,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/feedback.py",
      "statements": 80,
      "missing": 0,
      "covered": 80,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/__init__.py",
      "statements": 18,
      "missing": 0,
      "covered": 18,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/_group.py",
      "statements": 41,
      "missing": 0,
      "covered": 41,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/cache_cmd.py",
      "statements": 162,
      "missing": 0,
      "covered": 162,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/pull_cmd.py",
      "statements": 30,
      "missing": 0,
      "covered": 30,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/commands/runs/stats_cmd.py",
      "statements": 41,
      "missing": 0,
      "covered": 41,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/config.py",
      "statements": 29,
      "missing": 0,
      "covered": 29,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/dataset_replica/__init__.py",
      "statements": 2,
      "missing": 0,
      "covered": 2,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/dataset_replica/cli.py",
      "statements": 24,
      "missing": 0,
      "covered": 24,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/dataset_replica/contracts.py",
      "statements": 31,
      "missing": 0,
      "covered": 31,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/dataset_resolution.py",
      "statements": 14,
      "missing": 0,
      "covered": 14,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/local_traces/__init__.py",
      "statements": 0,
      "missing": 0,
      "covered": 0,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/local_traces/models.py",
      "statements": 160,
      "missing": 0,
      "covered": 160,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/local_traces/service.py",
      "statements": 20,
      "missing": 0,
      "covered": 20,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    },
    {
      "path": "src/langsmith_cli/utils.py",
      "statements": 6,
      "missing": 0,
      "covered": 6,
      "percent": 100,
      "missing_lines": [],
      "missing_lines_truncated": false
    }
  ],
  "recommendations": []
}

@codecov

codecov Bot commented Nov 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions
github-actions Bot merged commit 71ed273 into main Nov 9, 2026
12 checks passed
@dependabot
dependabot Bot deleted the dependabot/uv/pydantic-2.14.3 branch November 9, 2026 01:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants