Hey Rustaceans! Got an easy question? Ask here (9/2022)!

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • lalrpop

    LR(1) parser generator for Rust

    parser generator: https://github.com/lalrpop/lalrpop

  • nom

    Rust parser combinator framework

    parser combinator library: https://github.com/Geal/nom

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • combine

    A parser combinator library for Rust

    https://crates.io/crates/combine is a decent alternative to Nom. I found it much easier to pick up. I was using it to implement our generalized placeholder syntax in SQLx (which I hope to actually finish at some point): https://github.com/launchbadge/sqlx/blob/a2eda2de2462876a160982e57d73103795e34aa2/sqlx-core/src/placeholders.rs

  • sqlx

    🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite. (by launchbadge)

    https://crates.io/crates/combine is a decent alternative to Nom. I found it much easier to pick up. I was using it to implement our generalized placeholder syntax in SQLx (which I hope to actually finish at some point): https://github.com/launchbadge/sqlx/blob/a2eda2de2462876a160982e57d73103795e34aa2/sqlx-core/src/placeholders.rs

  • crates.io

    The Rust package registry

    Super weird and very niche problem - I am at the American Airlines lounge at JFK airport, and I was trying to go on crates.io - but it's blocked with a message that says Web page blocked Access to this site is blocked at the direction of the venue providing this service as a courtesy to guests and customers. The provider seems to be AT&T Wifi that's blocking this. It seems that crates.io is listed under freeware and shareware based on the error-causing webpage addressL https://login.attwifi.com/blocked/blocked_page.html#?user_ip=%3C172.20.41.85%3E&dest_ip=%3C18.64.236.87%3E&web_rep=%3Clow-risk-sites%3E&web_cat=%3Cshareware-and-freeware%3E. Has anyone else run into this?

  • Cargo

    The Rust package manager

    There is a list of registry implementations at https://github.com/rust-lang/cargo/wiki/Third-party-registries

  • capnproto-rust

    Cap'n Proto for Rust

    capnproto-rust is the official Rust implementation.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • jsonrpc

    Rust JSON-RPC implementation

    paritytech has a Rust JSON-RPC framework.

  • gRPC

    The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)

    gRPC is popular, but doesn't have the most compact binary encoding. Tonic is a pretty good implementation of gRPC in Rust.

  • bevy_networking_turbulence

    Discontinued Networking plugin for Bevy engine running on naia-socket and turbulence libraries

    I'm playing around with bevy_networking_turbulence right now and I think that helps me with all the OSI layer stuff.

  • bincode

    A binary encoder / decoder implementation in Rust.

    Like separate instructions? I was thinking if a instruction have unknown length I make sure I have some kind of header field that tells the data length of the instruction so receiver knows when next instruction starts. And I was planning on using Bincode with serde to serialize and dezerialize like structs and stuff.

  • serde

    Serialization framework for Rust

    Like separate instructions? I was thinking if a instruction have unknown length I make sure I have some kind of header field that tells the data length of the instruction so receiver knows when next instruction starts. And I was planning on using Bincode with serde to serialize and dezerialize like structs and stuff.

  • x25519-dalek

    X25519 elliptic curve Diffie-Hellman key exchange in pure-Rust, using curve25519-dalek.

    But I have been able to encrypt the byte array with aes-gcm and shared public keys between connections with diffie-hellman. But I'm sure Alice and Bob still is not totally safe because I may have fucked something up :D.

  • rfcs

    RFCs for changes to Rust

    I guess let_chains would help here? Then it could look something like if let Some(link_node) = find_next_link(tab)? && let Some(attributes) = link_node.attributes && let Some((_, href_value)) = attributes.get_key_value("href") { return Ok(Some(href_value.to_string())); } Ok(None) which feels MUCH nicer, though I'm not crazy about using unstable features.

  • rlua

    High level Lua bindings to Rust

  • iced

    A cross-platform GUI library for Rust, inspired by Elm

  • Rocket

    A web framework for Rust.

    So I'm playing around with rocket.rs right now and I'm running into issues related to borrowing and asnync stuff. I have the following function which will check if a sessionid exists in a database. The CookieJar a rocket Object containing cookies which you can .get(). I also use Rockets Database integration which uses r2d2 internally. DbConn is a connection pool on which I can execute with .run(). is_session checks if a given string exists in the database, returning true or false.

  • swc

    Rust-based platform for the Web

    Not familiar with JMESPath so can't speak about that, but yeah you will have to use the VisitMut or Fold traits (some info here) of SWC for doing transformations, they make it a little easier to do.

  • Next.js

    The React Framework

    Since you are looking to convert React -> Solid you might want to take a loot at the transformations inside the SWC package of the Next.js repo. There is a lot of stuff related to transforming React syntax, for example check out this hook transformation.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts