How Pydantic V2 leverages Rust's Superpowers
Using Rust to build Python extensions
- Track: Rust devroom
- Room: H.1302 (Depage)
- Day: Saturday
- Start: 16:45
- End: 17:20
- Video only: h1302_depage
- Chat: Join the conversation!
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, will be released early in 2023.
In this talk I will give a brief introduction to 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 (rust and python) to demonstrate the advantages (and disadvantages) of writing libraries like Pydantic in Rust.
This talk should be interesting to any Rust or Python developer who's interested in combining the two languages - no knowledge of Python 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
Speakers
Samuel Colvin |