Crate of the Week

Self-nominating onlyerror, which I recently published. It's a #[derive(Error)] macro with support for no_std on nightly compilers.

4 Likes

New big update for mitmproxy -> Tauri Migration and new UI, leave a feedback!

I'd like to nominate burn (crates.io, Github), a framework for neural network models.

I have recently been using it in anger and have found it really decent with a very helpful community.

2 Likes

I'd like to nominate zino: a full-featured application framework for Rust which emphasizes simplicity , extendibility and productivity .

I'd like to nominate manyhow, a newly released crate of a friend.

It combines anyhow and proc_macro_error (which sadly seems abandoned), to make error reporting in proc macros easy.

Nominating system-deps --- declarative build.rs which serves two purposes:

  • you don't need to write build.rs yourself !
  • if someone wants to integrate your code with non-cargo based build, they don't have to read your build.rs

https://crates.io/crates/system-deps

9 Likes

Self-nominating script-macro -- experimental way of writing simple proc_macros inline.

I often have to programmatically generate testcases from files, and I am somewhat dissatisfied with the options available (custom test harness, writing your own proc macro, using a single-purpose proc_macro like test-generator). This is my attempt at providing another option, though I don't use it anywhere atm.

3 Likes

I'd like to self-nominate dlhn.
It's a new serialization format implemented using Serde.
In the recently released v0.1.4, deserialization of DateTime types has been greatly improved, now offering approximately 3 times faster performance.

1 Like

Came across this article

GitHub dumps frustrating code search engine for Rust-powered Blackbird

3 Likes

Qdrant is an open source production ready vector database/similarity search engine written in Rust. There are APIs available for Rust, Python, Javascript/Typescript and Go.

I'd also mention it's blazingly fast, but you already knew that, did you?

(Full disclosure: Sort of self-suggestion, I recently joined the company)

6 Likes

I would like to nominate the web-framework salvo

The Maintainer is very open for feature requests and fixing stuff very fast.

4 Likes

I'll nominate dateparser, "A rust library for parsing date strings in commonly used formats. Parsed date will be returned as chrono's DateTime<Utc>."

Astrolabe is a date and time library for Rust which is feature rich, lightweight (zero dependencies) and aims to have an easy to use API. Some of it's most useful features:

  • Custom formatting and parsing with format strings based on Unicode Date Field Symbols
  • RFC 3339 timestamp parsing and formatting
  • A built in cron expression parser
  • Offset functions to work with timezones (No local timezone yet)
  • Many manipulation functions to freely modify date and time

Disclosure: This is a self-suggestion : )

I'm nominating whichlang, a fast OSS natural language detector in Rust with no dependencies:

3 Likes

GitHub - oxidecomputer/progenitor: An OpenAPI client generator - An OpenAPI client generator - had a 0.3 release 2 weeks ago, includes 8 months of active development since the v0.2 release.

In addition to lots of improvements to support all the varied ways people use OpenAPI, it includes two notable enhancements:

  • Generation of clap-based CLIs
  • Generation of strongly-typed mocks with httpmock

You can feed it rest-api-description/api.github.com.yaml at main · github/rest-api-description · GitHub , and with very minor tweaks to the input yaml, it can spit out a GitHub client Cargo.toml and lib.rs, and with a few lines of Rust you can use it to create a mock GitHub API service.

7 Likes

GitHub - kstasik/schema-tools: Set of tools for codegen, preprocessing and validation of json-schema and openapi spec An OpenAPI/JSONSchema toolkit, include schema validation, slicing & dicing of specifications, and code generation using Tera (jinja2) templates.

1 Like

Lint of the Week

So far i have been enjoying TWiR very much.
I like the Quote/Crate of the week suggestions.

Can we have something alike for Clippy Lints?
There are so many good allow by default lints, which help me a lot.

I use cargo cranky in a 3 step approach.

  1. cargo check
  2. cargo clippy
  3. cargo cranky

This helps me writing better code and finding slips.

After Installing 1.70 i updated my Cranky.toml with clippy::unnecessary_struct_initialization and i got one match.

This has shown me how easily I overlook something
and maybe i am not the only one :thinking:

2 Likes

I’d like to nominate Kanata:

Kanata is a software keyboard remapper for Linux and Windows. I use it to get some advanced features from my standard laptop keyboard, remapping spacebar as an extra modifier keys which moves arrows ad other navigation keys to my home row.

3 Likes

I've created an SMTP server for the test and development environment in Rust.

The web interface is developed with Yew frameworks compiled to web assembly and the Backend uses Axum and Tokio.

How is this different from using clippy config files? The project readme doesnt explain this. It only says

Doing this with just Rust/Cargo/Clippy can be a bit of a pain.

1 Like