Skip to content

adapt for QCSchema v2 and Python v3.14#170

Open
loriab wants to merge 8 commits intodftd3:mainfrom
loriab:qcsk_v2_adapt
Open

adapt for QCSchema v2 and Python v3.14#170
loriab wants to merge 8 commits intodftd3:mainfrom
loriab:qcsk_v2_adapt

Conversation

@loriab
Copy link
Contributor

@loriab loriab commented Mar 16, 2026

Here's an adaptation for QCSchema v2 and Python 3.14. This and dftd4/dftd4#341 are counterparts. Please let me know of any changes you'd like.

  • No change in compatibility with current (~v0.30) and recent QCElemental for Python <3.14 . These will continue to run QCSchema v1 only, and those QCElementals need Pydantic 1.10.17 or 2.x.
  • With QCElemental >= v0.50.0rc3 (current available through -c conda-forge/label/qcelemental_dev, dftd3-python can run QCSchema v1 or v2 for all Pythons, except 3.14, where Pydantic retired the v1 API. Pydantic >=2.11 will be required (2.12 for Py 3.14). This can be seen in the test_qcschema patterns where 312 runs QCSchema v1 and skips 2, 313 runs both, and 314 runs 2 and skips v1, as illustrated in the dftd4 PR.
  • The mac and windows wheel lanes were throwing errors like the below, so I updated to the latest cibuildwheel in the major series. Perhaps associated with [2.x] Update virtualenv URLs to avoid blob URLs pypa/cibuildwheel#2775
+ Download https://github.com/pypa/get-virtualenv/blob/20.26.4/public/virtualenv.pyz?raw=true to /Users/runner/Library/Caches/cibuildwheel/virtualenv-20.26.4.pyz Traceback (most recent call last):
...
File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/urllib/request.py", line 611, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 429: Too Many Requests Error: Process completed with exit code 1.
  • Sorry for hacking up the test file so extensively. Python 3.14 not being able to form QCSchema v1 models means I can't just take the v1 models and run .convert_v(2) on them to submit to run_qcschema. The diff is a little easier to read with whitespace tracking off.
  • Associated with update to qcschema py314 conda-forge/dftd3-python-feedstock#33 and has been tested locally with QCEngine and Psi4
  • I didn't try to impose qcel version constraints in pyproject.toml because qcel is optional, existing envs continue to work, and the new features will appear naturally when v0.50.0 moves beyond pre-release.

@codecov
Copy link

codecov bot commented Mar 16, 2026

Codecov Report

❌ Patch coverage is 90.62500% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.87%. Comparing base (87efc01) to head (a57a472).

Files with missing lines Patch % Lines
python/dftd3/qcschema.py 90.62% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #170      +/-   ##
==========================================
+ Coverage   65.78%   65.87%   +0.08%     
==========================================
  Files          34       34              
  Lines        4782     4800      +18     
  Branches     1668     1668              
==========================================
+ Hits         3146     3162      +16     
- Misses        683      685       +2     
  Partials      953      953              

☔ View full report in Codecov by Sentry.
📢 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.

@loriab loriab marked this pull request as ready for review March 22, 2026 08:55
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.

1 participant