Crate of the Week

Rustc uses something similar: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_index/vec/struct.IndexVec.html

3 Likes

Somehow this has never been suggested (or I didn't find it :slight_smile: ). A neural network inference library, written purely in Rust for models in ONNX, NNEF and TF formats. Very extensive support for many different operators and comparable speed to the onnxruntime Python package.

Also compiles to WebAssembly and has JS bindings (https://github.com/bminixhofer/tractjs).

IMO the most important crate for working with Neural Networks in Rust. Support for inference of other ML models such as Decision Trees is also coming up.

8 Likes

This isn't exact a crate... it's more of a research prototype:

The accompanying paper is here (free): https://www.usenix.org/conference/osdi20/presentation/boos

I found it quite elegant, as I've struggled with how to use idiomatic rust in the weird environment of OS kernels before.

(For those who don't know, OSDI/SOSP is the premier venue for publishing systems papers.)

6 Likes

Puffin: A simple instrumentation profiler for Rust - by the awesome people at Embark.

2 Likes

RustScan: a modern port scanner written in Rust:

3 Likes

Finally: Postfix Macros in stable Rust (still experimental)!

5 Likes
2 Likes

ddcset: an application for controlling connected monitors over DDC/CI.

normpath makes path manipulation more reliable. It defines PathExt::normalize, which gives more expected results than fs::canonicalize, and it defines new path types that handle more edge cases.

From the ReadMe:

The goal is to provide an absolute minimal, CPU only, 2D rendering library for the Rust ecosystem, with a focus on a rendering quality, speed and binary size.

1 Like
1 Like
2 Likes

With Rust 1.48 out:

(If this is not visible, both points above are links to crates.io)

5 Likes
1 Like

BreadX: The X Window protocol implemented in 100% safe and mutex-free Rust.

4 Likes
2 Likes

From the ReadMe:

A set of macros for conveniently initializing Vec, HashMap, HashSet, BTreeMap, BTreeSet and iterators.

Not a new crate, but I just ran across cargo-inspect

1 Like

How does it differ from cargo-expand?