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 ๐
Deno
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
PowerShell (Windows):
irm https://deno.land/install.ps1 | iex
Homebrew (Mac):
brew install deno
Chocolatey (Windows):
choco install deno
WinGet (Windows):
winget install --id=DenoLand.Deno
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 ๐ฅณ
A cross-platform Text Expander written in Rust
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 ๐ฏ
juspay
/
hyperswitch
An open source payments switch written in Rust to make payments fast, reliable and affordable
Open-Source Payments Orchestration
Table of Contents
- Introduction
- Architectural Overview
- Try Hyperswitch
- Support, Feature requests & Bugs
- Our Vision
- Versioning
- 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 ๐ฅธ
starship
/
starship
โ๐๏ธ The minimal, blazing-fast, and infinitely customizable prompt for any shell!
Website ยท Installation ยท Configuration
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.
๐ Installation
Prerequisites
- A Nerd Font installed and enabled in your terminal (for example, try the FiraCode Nerd Font).
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 |
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" ๐ค
A safe, extensible ORM and Query Builder for Rust
API Documentation: latest release โ master branch
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:
You can configure the database backend in Cargo.toml
:
[dependencies]
diesel = { version = "<version>", features = ["<postgres|mysql|sqlite>"] }
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 ๐
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.
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:
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 ๐ง
getzola
/
zola
A fast static site generator in a single binary with everything built-in. https://www.getzola.org
zola (nรฉ Gutenberg)
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
- Single binary
- Syntax highlighting
- Sass compilation
- Assets co-location
- Multilingual site suport (Basic currently)
- Image processing
- Themes
- Shortcodes
- Internal links
- External link checker
- Table of contents automatic generation
- Automatic header anchors
- Aliases
- Pagination
- Custom taxonomies
- Search with no servers or any third parties involved
- Live reload
- Deploy on many platforms easily: Netlify, Vercel, Cloudflare Pages, etc
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 ๐ฅน
Top comments (2)
This list is super helpful! Have you considered writing about newer Rust projects in a follow-up post?
Hi :)
I had never thought about it, it could be an interesting idea.
I put on the list, thank you!