Skip to content

Drop Pydantic v1#93

Open
mattwthompson wants to merge 15 commits into
mainfrom
no-pydantic-v1
Open

Drop Pydantic v1#93
mattwthompson wants to merge 15 commits into
mainfrom
no-pydantic-v1

Conversation

@mattwthompson

@mattwthompson mattwthompson commented May 27, 2026

Copy link
Copy Markdown
Member

Description

Fixes #91

Status

  • Ready to go

@codecov

codecov Bot commented Jun 3, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.44444% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 99.51%. Comparing base (a822950) to head (26b22b1).

Files with missing lines Patch % Lines
descent/train.py 94.44% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #93      +/-   ##
==========================================
+ Coverage   97.66%   99.51%   +1.85%     
==========================================
  Files          11       11              
  Lines        1071     1038      -33     
==========================================
- Hits         1046     1033      -13     
+ Misses         25        5      -20     
Flag Coverage Δ
unittests 99.51% <94.44%> (+1.85%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mattwthompson mattwthompson marked this pull request as ready for review June 3, 2026 13:24
@jameseastwood jameseastwood assigned j-wags and unassigned mattwthompson Jul 7, 2026
@read-the-docs-community

read-the-docs-community Bot commented Jul 10, 2026

Copy link
Copy Markdown

Documentation build overview

📚 descent-fitting | 🛠️ Build #33536795 | 📁 Comparing a9c860f against latest (3d23214)

  🔍 Preview build  

37 files changed · ± 37 modified

± Modified

mattwthompson and others added 3 commits July 10, 2026 12:30
Keys have historically matched on (id, mult, associated_handler,
bond_order) only. After dropping the pydantic v1 shim, matching uses
PotentialKey's full-field equality, which also compares virtual_site_type
and cosmetic_attributes -- fields a user cannot reconstruct from a SMIRKS.
Such keys are then silently ignored in exclude (and would raise KeyError
in include).

Covers both vulnerable fields via the exclude path: virtual_site_type
(a v-site key) and cosmetic_attributes (any handler; here a cosmetic
attribute on a Bonds parameter).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@j-wags j-wags left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I didn't find any problems myself, but I let claude do a once-over and it spotted a sneaky regression wrt vsites and cosmetic attributes. I worked with claude to generate minimal tests expressing this behavior.

I lean slightly toward favoring fixing this regression (since it could cause user surprise) but I'd also be fine with A) just listing it in the release notes (and removing the new tests I committed) or B) erroring in cases where it could make a difference (though this could be hard to detect)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove pydantic v1 support

2 participants