Scientific Computing in Rust Monthly #20

Welcome to this month's issue of Scientific Computing in Rust Monthly.

Scientific Computing in Rust Monthly can be viewed online at scientificcomputing.rs/monthly, you can sign up to receive an email copy at mailinglist.scientificcomputing.rs, or you can subscribe using the RSS feed at scientificcomputing.rs/monthly/rss.xml.

Items can be added to the next issue of the newsletter by opening a pull request to the Scientific Computing in Rust Monthly repository on GitHub. You can find more information about adding items here.

Crate of the month: derive_more

crates.io ~ docs.rs ~ source

Rust has a lot of nice traits that are implemented for basic types, however, require usually some boilerplate to implement for your own types. The derive_more crate can help you with many of these implementations as it allows you to derive various traits for your types! Attributes allow you to specify the details of the derive and thus you can focus on your code instead on implementing traits.

New releases

interpn v0.11.2

InterpN is a crate allowing N-dimensional interpolation/extrapolation methods. Recent changes include the addition of B-spline methods for regular and rectilinear grids, implement analytic gradients for multidimensional methods, and speedups in other routines. See also the recent talk by James Logan for details on InterpN.

NSGA-RS v1.3.0

NSGA RS is a Rust framework for solving multi-objective optimisation problems using the NSGA family of multi-objective evolutionary algorithms (MOEAs). The crate includes:

oximo v0.5.0

oximo is an algebraic modeling library for solving optimization problems in Rust. This release adds an automatic differentiation engine using std::autodiff (Enzyme, nightly only), a Pounce backend, IIS support, pretty-printing, and many other improvements including bug fixes, and quality-of-life changes.

syn v3.0.3

One of the most downloaded crates got a major update. Syn is a parsing library for parsing streams of Rust tokens into a syntax tree of Rust source code. The version 3 release contains adjustments to the syntax tree in order to account for ongoing language changes. A full changelog can be found here.

Publications

Matsakis N., Battery packs: Let's talk about crates, baby

Battery packs are an idea Niko has been kicking around on how to curate "starter packs" of crates for specific topics. This could surely be very interesting for scientific computing in Rust.

Trappitsch R., Testing drivers in instrumentRs v0.2.0

This is the second blog post in the instrumentRs series on designing a toolkit to write drivers for (scientific) instruments in Rust. This post discusses how to test drivers by mocking the communication interface and asserting that all expected bytes have been read and written.

Trappitsch R., Lakeshore 336 Temperature Controller Driver with instrumentRs v0.2.0

This is the third blog post in the instrumentRs series on designing a toolkit to write drivers for (scientific) instruments in Rust. This post discusses takeaways from implementing an instrument driver for a Lakeshore 336 temperature controller and presents required improvements to the instrumentRs design.

Jobs

PhD, Postdoc and Software Engineering positions, Aachen, Germany

We are looking for candidates with experience in the Rust programming language 🦀 for several positions at different levels!

Wanted expertise (you do not need to meet all criteria):

Some of our current research topics:

Where we work (Aachen, Germany):

Type of positions:

Availability of positions: Some positions now, more positions in the upcoming years.

You can find out more about our research topics here. If you're interested in a position as a scientist you can find more information here and if you're interesting in working as a software engineer take a look at our open positions here.

Miscellaneous

Scientific Computing in Rust 2026: Recordings

Recordings of talks given at the Scientific Computing in Rust 2026 workshop are now available on the YouTube channel. If you prefer a different view, the timetable of the workshop has also been updated to provide links to the recordings.