Developer Voices cover image

PyO3: From Python to Rust and Back Again (with David Hewitt)

Developer Voices

NOTE

Making Rust and Python Functions Interoperable in Py03

Compile-time meta programming in Py03 allows users to seamlessly use Rust functions that interact with Python objects. By marking Rust functions with 'py function' and utilizing Pyo3's API, users can work with Python objects without compromising Rust's borrow checker. Pyo3 handles the mapping of data between Rust and Python, enabling users to leverage Rust's full ecosystem within the code. Pyo3 ensures safe memory management by performing reference counting on pointers and managing the global interpreter lock. Leveraging Rust's lifetime concept, Pyo3 utilizes 'Py' and 'Bound' reference counted pointers to maintain safety in Python call functions. Despite potential future changes in Python's global interpreter lock, Pyo3's approach ensures compliance with Python's reference counting APIs and garbage collection requirements.

00:00
Transcript
Play full episode

Remember Everything You Learn from Podcasts

Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.
App store bannerPlay store banner