larray-project / larray

N-dimensional labelled arrays in Python
https://larray.readthedocs.io/
GNU General Public License v3.0
8 stars 6 forks source link

support Pydantic 2+ or drop pydantic #1075

Open gdementen opened 1 year ago

gdementen commented 1 year ago

Pydantic2 has been released in june 2023 and it is a massive change compared to v1. There is even a whole migration guide at: https://docs.pydantic.dev/2.0/migration/

Needless to say, larray is not compatible with it. We should either rewrite Checked* using v2, or stop using Pydantic at all (I have some proof of concept code doing this somewhere).

PS: CI is not failing on this (yet) because anaconda packages for Pydantic are still at v1. But I noticed the error via readthedocs where pydantic is installed via pip instead.

gdementen commented 1 year ago

FWIW, here are the pro and cons of pydantic (v2) vs our own solution:

Pros:

Cons:

I would say that, in the end, if we only ever want to support the current feature-set with only runtime checking of axes, a custom solution would be less (maintenance) work.