robotpy / robotpy-build

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

Upgrade to pydantic v2 #212

Open auscompgeek opened 11 months ago

auscompgeek commented 11 months 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 11 months 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 11 months 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 11 months ago

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

auscompgeek commented 11 months 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 11 months ago

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