Crate of the Week

hnsw_rs is a fundamental vector search library based on hierarchical navigable small world graphs, fully parallelized, SIMD support, widely applied in Large Language Model search, deep learning, machine learning, web search engine and there is actually a browser based on it. Considering most crate of the week are for asynchronous programming for web/internet, high performance parallel libraries for everyday use (vector search is done everyday on almost every server) is also important for heavy tasks!

(not self-nomination)

2 Likes

I would self nominate static-keys, which reimplements Linux kernel static keys for Rust userland applications, and support Linux, macOS, Windows on x86-64, x86 and aarch64.

Static key is a low-level mechanism in Linux kernel, which can speedup usage of seldomly changed features. Due to its complexity and low-level, there are few attempts to bring it to userland. Thanks to the Rust's multi-platform support, great abstraction and low-level operations, we can finally use this great feature in userland applications and on multi platforms.

2 Likes

I'd like to self-nominate bon. It is a generic crate that lets you create builders from free functions, associated methods, and structs (it works like a classic builder derive as well). It solves the 'named function arguments' problem in Rust.

Here is a post on Reddit with the link to the blog post that introduces the problem that the crate solves and the crate itself.

3 Likes

I'll self-nominate hoox. It is my take on Git hooks management in a repo / project.

Some of the features are:

  • custom program support
  • YAML anchor support for re-using snippets
  • execute files instead of inline scripts in YAML
  • verbosity (all, stdout, stderr, none)
  • severity (warn or fail if command fails)

It's still WIP but when installed as dev dependency in a crate, it automatically installs itself into the Git repo hooks via build.rs.

https://crates.io/crates/hoox

I'll like to self nominate GitHub - radumarias/rencfs: An encrypted file system written in Rust that is mounted with FUSE on Linux. It can be used to create encrypted directories

An encrypted file system written in Rust that is mounted with FUSE on Linux. It can be used to create encrypted directories.

You can then safely backup the encrypted directory to an untrusted server without worrying about the data being exposed. You can also store it in any cloud storage like Google Drive, Dropbox, etc. and have it synced across multiple devices.

You can use it as CLI or build your custom FUSE implementation with it.

A short article about it The_Hitchhiker_s_Guide_to_Building_an_Encrypted_Filesystem_in_Rust.pdf - Google Drive

2 Likes

rencfs Crate of the Week - #1329 by radumarias

I would like to self-nominate Discret: a back-end to create local first, peer to peer application (P2P) using a GraphQL inspired API

It hides the complexity of peer to peer networks and reduces it to a data access problem.

The API allows you to:

  • manage your data using a GraphQL syntax,
  • add access right to your data (in graphQL too),
  • create and accept invites from other peers.

Discret will synchronize your data with other peers, depending on the access right you have given to those peers.

More details and tutorials are available in the documentation site

Nominating wtx for the next Crate Of The Week.

wtx is, among other things, a RFC6455, RFC7541, RFC7692 and RFC9113 implementation intended to allow the development of web applications through a built-in server framework, a built-in PostgreSQL connector, a built-in WebSocket handler and a built-in gRPC manager. There is also a built-in API client framework that facilitates the maintainability of large endpoints.

1 Like

vimania-uri-rs

Rust-based VIM plugin for file and URI handling.

Features:

  • Open URIs or Files via keyboard shortcut
  • Paste URLs as full Markdown Links (title and metadata)
  • Jump straight specific headings or line numbers within files for quick access.
  • Bookmark Manager Integration

rencfs
An encrypted file system written in Rust that is mounted with FUSE on Linux. It can be used to create encrypted directories

1 Like

This was already crate of the week last month.

hmm, really? seems I missed that, can you send me a link?

found it, that's great :slight_smile: thanks

email-type-rs

Email type for approach described by Alexis King in blog post - "Parse, don't validate".

Plotlars

Plotlars is a versatile Rust library that acts as a wrapper around the Plotly crate, bridging the gap between the powerful Polars data analysis library and Plotly. It simplifies the process of creating visualizations from data frames, allowing developers to focus on data insights rather than the intricacies of plot creation.

cargo-override

Cargo plugin to quickly override dependencies

  • Create local patches with cargo override --path
  • Create git patches with cargo override --git
2 Likes

Microsoft's port of Dropbox's Lepton — a lossless compressor for JPEG files, allowing them to be stored more efficiently on disk, and quickly converted back to the original standard format when needed:

2 Likes

Local-first task manager/bug tracker that stores everything right in the git repository and can sync issues from/to GitHub.

1 Like