DEV Community

Cover image for 7 Open Source Projects You Should Know - Rust Edition โœ”๏ธ
Domenico Tenace for This is Learning

Posted on โ€ข Edited on โ€ข Originally published at Medium

15 1 1 1

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

WinGet (Windows):

winget install --id=DenoLand.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โ€ฆ

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

Open-Source Payments Orchestration

Single API to access the payments ecosystem and its features


Table of Contents

  1. Introduction
  2. Architectural Overview
  3. Try Hyperswitch
  4. Support, Feature requests & Bugs
  5. Our Vision
  6. Versioning
  7. Copyright and License


Juspay, founded in 2012, is a global leader in payment orchestration and checkout solutions, trusted by 400+ leading enterprises and brands worldwide. Hyperswitch is Juspay's new generation of composable, commercial open-source payments platform for merchant and brands. It is an enterprise-grade, transparent and modular payments platform designed to provide digital businesses access to the best payments infrastructure.

Here are the key components of Hyperswitch that deliver the whole solution:

  • Hyperswitch Backend: Hyperswitch backend enables seamless payment processing with comprehensive support for various payment flows - authorization, authentication, void and capture workflows along with robust management of post-payment processes like refunds and chargeback handling. Additionally, Hyperswitch supports non-payment use cases by enabling connections with external FRM orโ€ฆ

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 Crates.io

API Documentation: latest release โ€“ master 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 in our GitHub Discussions forum. This is also the right place to propose new features or show your applications.

Usage

Simple queries

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 Open Source, 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 ๐Ÿฅน

Buy Me A Coffee

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadogโ€™s testing tunnel.

Download The Guide

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!

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more