ncar-xdev / ecgtools

ESM Catalog Generation tools
https://ecgtools.readthedocs.io
Apache License 2.0
9 stars 11 forks source link

Updates for pydantic v2 #164

Closed dougiesquire closed 1 year ago

dougiesquire commented 1 year ago

Change Summary

This PR implements changes required for ecgtools to update to the recently-released pydantic v2. Test are still failing because Intake-ESM also requires changes to update to pydantic v2 (see https://github.com/intake/intake-esm/pull/619).

Unfortunately the autodoc_pydantic Sphinx extension does not support pydantic v2. Thus the docs build is also failing.

It doesn't look like autodoc_pydantic will support pydantic v2 any time soon (see https://github.com/mansenfranzen/autodoc_pydantic/issues/146) so the API section of the docs will potentially be poorly formatted for a while if we want to update ecgtools and Intake-ESM to use pydantic v2.

Another option is to pin pydantic<2.0 in both ecgtools and Intake-ESM, but that has it's own (probably worse?) problems.

Related issue number

Closes #161

Checklist

dougiesquire commented 1 year ago

The tests and docs build are failing because of the pydantic changes required in Intake-ESM.

As I said in https://github.com/intake/intake-esm/pull/619, I suggest:

mansenfranzen commented 1 year ago

@dougiesquire You can now test the new autodoc_pydantic version supporting pydantic v2 via pip install autodoc_pydantic==2.0.0. The dev docs already showcase v2 support (see here). Migration guide is available here.

Any feedback is more than appreciated. The current autodoc_pydantic version 2.0.0 on pypi remains yanked for one week until final release.