Vendor in some models from qcelemental #981
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This is part of a migration to pydantic v2.
Because of the long-lived nature of the QCFractal database, we can be a bit sensitive to input parameters which are used in de-duplication. So given the changes coming towards QCElemental/schema (version 2, required for pydantic v2), we should copy some of the models we directly import from QCElemental.
These are small models - mostly protocols and provenance. This allows us to be a little more flexible with legacy data while QCElemental goes through the changes.
I have no plans for vendoring the big models, though (
MoleculeandWavefunctionProperties). Most other imports are for validating/creating those models directly (ie, creatingAtomicResultfrom our SinglepointRecord) so should stay.Status