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 10 months ago

gdementen commented 10 months 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 10 months 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.