Skip to content

Details

This month: Carl Kadie will present "Nine Rules for Writing Python Extensions with Rust & Rayon".

Abstract: A year ago I got fed up with runtime compatibility hell from C++/OpenMP in our Python bioinformatics package. This talk will cover what I learned by upgrading to Rust.

Along with suggestions about PyO3 (a Python/Rust crate), file layout, memory allocation, testing, etc, I’ll also give examples of
· using Rayon/ndarray::parallel while returning all errors
· letting users control the number of parallel threads
· creating nice errors with thiserror (and translating those Rust errors to nice Python errors)
· using Rust generic functions and translating them to Python dynamic types

Along the way, I’ll talk about what I found most frustrating about Rust in the upgrading process. There should be something of interest to developers of all levels.

Bio: Carl is a retired Applied Researcher (Microsoft). He works, as a volunteer, on open-source projects related to Machine Learning and Genomics (https://github.com/CarlKCarlK).

Code of Conduct: Please review the Rust community's Code of Conduct (https://www.rust-lang.org/en-US/conduct.html) before coming to the meetup. Let's make this meetup great for everyone!

NOTE: A Zoom link (visible to RSVP'd attendees) will be added to the event page 20 minutes before the start time.

C & C++
Functional Programming
Rust
Computer Programming
Web Programming

Members are also interested in