While research software projects are plentiful, few are used meaningfully because of difficult usage. At the Boston Children’s Hospital we are developing a system called ChRIS, which manages cyberinfrastructure and scientific workflows for both research and clinical applications.
In this talk we will share our experience writing chrs, a command-line (CLI) client for ChRIS. Why did we, a team of Python developers in a Python-dominated field, rewrite it in Rust? It was for simple reasons at first: for fun, and for a statically compiled binary. After discovering the Rust CLI ecosystem of crates such as serde, clap, futures, fs-err, aliri_braid, and others, chrs has become an important product of our research. In addition to chrs itself, the ideas explored by chrs enabled by Rust’s performance and design patterns have influenced the development of our Python-based projects as well.