Talks - Samuel Colvin: How Pydantic V2 leverages Rust's Superpowers
HTML-код
- Опубликовано: 7 фев 2025
- Pydantic is a data validation library for Python that has seen massive adoption over the last few years - it is estimated that Pydantic is now used by about 10% of professional web developers!
Over the last year I've been working full time to rebuild Pydantic from the ground up, using Rust for virtually all the validation and serialization logic. Pydantic V2, with these changes included, has recently been released.
In this talk I will give a brief introduction to Pydantic and the new features in Pydantic V2 before diving into how the use of Rust has allowed us to completely change the architecture of Pydantic to make it easier to extend and maintain while also improving performance significantly.
The majority of the talk will be devoted to using examples from the pydantic V2 code base to demonstrate the advantages (and disadvantages) of writing libraries like Pydantic in Rust. I'll cover the real life trade-offs and design decisions you might face while implementing logic in Rust rather than Python.
This talk should be interesting to any Python developer who's interested in combining Python and Rust - no knowledge of Rust or Pydantic is required. However if you'd like to get some context or learn more about the topics discussed, here are some useful resources:
Pydantic V2 Plan - blog post about the plan for Pydantic V2
pydantic-core - the python package that provides Rust logic in pydantic
PyO3 docs - the amazing library that allows Rust to be embedded in Python
Build your Python Extensions with Rust! by Paul Ganssle - good intro to building Python extensions in Rust
I'm enjoying using Pydantic for API schemas usually in FastApi. It's perfect. I am considering expanding its use into more general data structures.
Turn audio all the way left or right and it works.
this man has magic
Instead of AnalyzedType, what about something like "to_model"? Then "Response= pydantic.to_model(Result | Error)" feels static, and (more or less) lives up to the name on the tin when "Result" and "Error" are dataclasses, or some other kind of type/object.
Just set the audio to mono in RUclips edit please.
Audio issues
Skill issue
I think it only has the left audio lol
The weird thing is i can only use both earbuds to listen. If i use either one only one, the sound cuts out. Same with two different sets of earbuds.
They must have disabled mono, but that's a very strange saying result.
And then someone pans the audio all the way left.
I don't hear anything....