robotpy / robotpy-build

(mostly) automated C++ wrapping for Python
BSD 3-Clause "New" or "Revised" License
37 stars 16 forks source link

Upgrade to pydantic v2 #212

Open auscompgeek opened 1 year ago

auscompgeek commented 1 year ago

207 pins pydantic to v1. We should upgrade. There's a migration guide in their docs: https://docs.pydantic.dev/latest/migration/

Note that we'll need to build pydantic_core in https://github.com/robotpy/roborio-wheels, which means we'll need to get Rust into the cross-build container (https://github.com/robotpy/robotpy-cross-docker) too.

virtuald commented 1 year ago

That feels like a lot of work for low reward, but if you can figure out how to make it work I'm happy to accept the changes.

virtuald commented 1 year ago

Sorry, I didn't realize this was for robotpy-build... why do we need to upgrade pydantic in roborio-wheels? I no longer use robotpy-build natively, we exclusively use crossenv in docker now.

TheTripleV commented 1 year ago

Pydantic v2 versions apparently ship with v1 embedded in it. So we could use that

auscompgeek commented 1 year ago

pydantic-core is written in Rust, so we should have it prebuilt to avoid building it in all of our CI jobs, right? Or am I misunderstanding how our cross-builds work?

virtuald commented 1 year ago

The cross build has a native piece and a cross piece. robotpy-build runs in the native side.