DEV Community

Cover image for 7 Open Source Projects You Should Know - Rust Edition ✔️
Domenico Tenace for This is Learning

Posted on • Updated on • Originally published at Medium

7 Open Source Projects You Should Know - Rust Edition ✔️

Overview

Hi everyone 👋🏼​
In this article, I'm going to look at seven OSS repository that you should know written in Rust, interesting projects that caught my attention and that I want to share.
Let's start 🤙🏼​


1. Deno

Deno is the open-source JavaScript, TypeScript, and WebAssembly runtime for the modern web. Built on web standards with zero-config TypeScript, unmatched security, and a complete built-in toolchain, it is the easiest, most productive way to JavaScript.
It's a most competitor of Node.js, another JavaScript runtime 😌

GitHub logo denoland / deno

A modern runtime for JavaScript and TypeScript.

Deno

Twitter badge Discord badge YouTube badge

the deno mascot dinosaur standing in the rain

Deno (/ˈdiːnoʊ/, pronounced dee-no) is a JavaScript, TypeScript, and WebAssembly runtime with secure defaults and a great developer experience. It's built on V8 Rust, and Tokio.

Learn more about the Deno runtime in the documentation.

Installation

Install the Deno runtime on your system using one of the commands below. Note that there are a number of ways to install Deno - a comprehensive list of installation options can be found here.

Shell (Mac, Linux):

curl -fsSL https://deno.land/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

PowerShell (Windows):

irm https://deno.land/install.ps1 | iex
Enter fullscreen mode Exit fullscreen mode

Homebrew (Mac):

brew install deno
Enter fullscreen mode Exit fullscreen mode

Chocolatey (Windows):

choco install deno
Enter fullscreen mode Exit fullscreen mode

Build and install from source

Complete instructions for building Deno from source can be found in the manual here.

Your first Deno program

Deno can be used for many different applications, but is most commonly used to build web servers. Create…

2. Espanso

Espanso is Cross-platform Text Expander, program that detects when you type a specific keyword and replaces it with something else.
Espanso is privacy first and cross platform, available for Linux, Windows and macOS 🥳

GitHub logo espanso / espanso

Cross-platform Text Expander written in Rust

espanso

A cross-platform Text Expander written in Rust

GitHub release (latest by date) Language Platforms License

example

Visit the espanso website.

What is a Text Expander?

A text expander is a program that detects when you type a specific keyword and replaces it with something else This is useful in many ways:

  • Save a lot of typing, expanding common sentences.
  • Create system-wide code snippets.
  • Execute custom scripts
  • Use emojis like a pro.

Key Features

  • Works on Windows, macOS and Linux
  • Works with almost any program
  • Works with Emojis 😄
  • Works with Images
  • Includes a powerful Search Bar 🔎
  • Date expansion support
  • Custom scripts support
  • Shell commands support
  • App-specific configurations
  • Support Forms
  • Expandable with packages
  • Built-in package manager for espanso hub
  • File based configuration
  • Support Regex triggers
  • Experimental Wayland support

Get Started

Visit the official documentation.

Support

If you need some help to setup espanso, want to ask a question or simply get involved in the…

3. Hyperswitch

Hyperswitch is an open source payments switch written in Rust to make payments fast, reliable and affordable, and integrates well with the largest payment providers (Stripe, Klarna, PayPal...) and you can deploy it to the AWS Cloud 😯

GitHub logo juspay / hyperswitch

An open source payments switch written in Rust to make payments fast, reliable and affordable

Hyperswitch-Logo Hyperswitch-Logo

The open-source payments switch

The single API to access payment ecosystems across 130+ countries

Try a PaymentFor EnterprisesFor ContributorsQuick SetupLocal Setup Guide (Hyperswitch App Server)Fast Integration for Stripe Users API Docs
Supported FeaturesCommunityBugs and feature requestsVersioningFAQsCopyright and License


Hyperswitch is a community-led, open payments switch to enable access to the best payments infrastructure for every digital business.

Using Hyperswitch, you can:

  • ⬇️ Reduce dependency on a single processor like Stripe or Braintree
  • 🧑‍💻 Reduce Dev effort by 90% to add & maintain integrations
  • 🚀 Improve success rates with seamless failover and auto-retries
  • 💸 Reduce processing fees with smart routing
  • 🎨 Customize payment flows with full visibility and control
  • 🌐 Increase business reach with local/alternate payment methods

Hyperswitch-Product

To quickly experience the ease that Hyperswitch provides while…




4. Starship

Starship is minimal, blazing-fast, and infinitely customizable prompt for any shell. It's fast, intelligent and easy to install, available for Linux, Windows, macOS and more 🥸

GitHub logo starship / starship

☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!

Starship – Cross-shell prompt

GitHub Actions workflow status Crates.io version Packaging status
Chat on Discord Follow @StarshipPrompt on Twitter Stand With Ukraine

Website · Installation · Configuration

English   Deutsch   Español   Français   Bahasa Indonesia   Italiano   日本語   Português do Brasil   Русский   Українська   Tiếng Việt   简体中文   繁體中文

Starship with iTerm2 and the Snazzy theme

The minimal, blazing-fast, and infinitely customizable prompt for any shell!

  • Fast: it's fast – really really fast! 🚀
  • Customizable: configure every aspect of your prompt.
  • Universal: works on any shell, on any operating system.
  • Intelligent: shows relevant information at a glance.
  • Feature rich: support for all your favorite tools.
  • Easy: quick to install – start using it in minutes.

Explore the Starship docs  ▶

🚀 Installation

Prerequisites

Step 1. Install Starship

Select your operating system from the list below to view installation instructions:

Android

Install Starship using any of the following package managers:

Repository Instructions
Termux pkg install starship

BSD

Install Starship using any of the following package managers:


























Distribution Repository Instructions
Any crates.io cargo install starship --locked
FreeBSD FreshPorts pkg install starship
NetBSD pkgsrc pkgin install starship





5. Diesel

Diesel is safe, extensible ORM and Query Builder for Rust.
It gets rid of the boilerplate for database interaction and eliminates runtime errors without sacrificing performance. It takes full advantage of Rust's type system to create a low overhead query builder that "feels like Rust" 🤙

GitHub logo diesel-rs / diesel

A safe, extensible ORM and Query Builder for Rust

diesel logo

A safe, extensible ORM and Query Builder for Rust

Build Status Gitter Crates.io

API Documentation: latest releasemaster branch

Homepage

Diesel gets rid of the boilerplate for database interaction and eliminates runtime errors without sacrificing performance. It takes full advantage of Rust's type system to create a low overhead query builder that "feels like Rust."

Supported databases:

  1. PostgreSQL
  2. MySQL
  3. SQLite

You can configure the database backend in Cargo.toml:

[dependencies]
diesel = { version = "<version>", features = ["<postgres|mysql|sqlite>"] }
Enter fullscreen mode Exit fullscreen mode

Getting Started

Find our extensive Getting Started tutorial at https://diesel.rs/guides/getting-started Guides on more specific features are coming soon.

Getting help

If you run into problems, Diesel has a very active Gitter room. You can come ask for help at gitter.im/diesel-rs/diesel. For help with longer questions and discussion about the future of Diesel, open a discussion on GitHub Discussions.

Usage

Simple queries

6. Tokio

Tokio is an event-driven, non-blocking I/O platform for writing asynchronous applications with the Rust programming language.
It gives the flexibility to target a wide range of systems, from large servers with dozens of cores to small embedded devices 👐

GitHub logo tokio-rs / tokio

A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

Tokio

A runtime for writing reliable, asynchronous, and slim applications with the Rust programming language. It is:

  • Fast: Tokio's zero-cost abstractions give you bare-metal performance.

  • Reliable: Tokio leverages Rust's ownership, type system, and concurrency model to reduce bugs and ensure thread safety.

  • Scalable: Tokio has a minimal footprint, and handles backpressure and cancellation naturally.

Crates.io MIT licensed Build Status Discord chat

Website | Guides | API Docs | Chat

Overview

Tokio is an event-driven, non-blocking I/O platform for writing asynchronous applications with the Rust programming language. At a high level, it provides a few major components:

  • A multithreaded, work-stealing based task scheduler.
  • A reactor backed by the operating system's event queue (epoll, kqueue IOCP, etc...).
  • Asynchronous TCP and UDP sockets.

These components provide the runtime components necessary for building an asynchronous application.

Example

A basic TCP echo server with Tokio.

Make sure you activated the full features of the tokio crate on Cargo.toml:

Enter fullscreen mode Exit fullscreen mode

7. Zola

Zola is a static site generator in a single binary with everything built-in: it gets out of your way so you can focus on your content, be it a blog, a knowledge base, a landing page or a combination of them 🧠

GitHub logo getzola / zola

A fast static site generator in a single binary with everything built-in. https://www.getzola.org

zola (né Gutenberg)

Build Status GitHub all releases

A fast static site generator in a single binary with everything built-in.

To find out more see the Zola Documentation, look in the docs/content folder of this repository or visit the Zola community forum.

This tool and its template engine tera were born from an intense dislike of the (insane) Golang template engine and therefore of Hugo that I was using before for 6+ sites.

List of features





Conclusion

This list lists seven open source projects that are worth checking out, either to use them or even to contribute🖖
Happy coding!✨


Hi👋🏻
My name is Domenico, software developer passionate of Vue.js framework, I write article about it for share my knowledge and experience.
Don't forget to visit my Linktree to discover my projects 🫰🏻

Linktree: https://linktr.ee/domenicotenace

Follow me on dev.to for other articles 👇🏻

If you like my content or want to support my work on GitHub, you can support me with a very small donation.
I would be grateful 🥹

Top comments (2)

Collapse
 
gallowaydeveloper profile image
Galloway Developer

This list is super helpful! Have you considered writing about newer Rust projects in a follow-up post?

Collapse
 
dvalin99 profile image
Domenico Tenace

Hi :)
I had never thought about it, it could be an interesting idea.
I put on the list, thank you!