Briefing | recommend project this month

  • Source: Rust Daily
  • The author:RustDaily newspaper group
  • Post Editing: Yang Chutian (YCT21)

Rust-SQLite

  • The warehouse link

Rust-sqlite (SQLRite) is a CLONE of SQLite. SQLRite is well documented, has very high code quality, and has a very rich set of unit test cases.

Tauri

  • The warehouse link
  • Project home page

Tauri is a desktop application development framework that includes JavaScript apis and can be developed with a variety of mainstream front-end frameworks.

Shared on Twitter, he migrated his Electron write application to Rust’s Tauri, reducing memory usage from 300M to 6M and binary size from 195M to 7M.

RustPython

  • The warehouse link
  • Related talk at FOSDEM 2019

RustPython is a Python 3 (CPython >= 3.8.0) interpreter implemented with Rust. RustPython can embed Python into Rust programs; RustPython can also be compiled to WebAssembly so that developers can run their Python code in a browser. In addition, RustPython includes an experimental JIT compiler.

Thirtyfour

  • The warehouse link

Thirtyfour is a Selenium WebDriver client that can be used to automate UI testing. Thirtyfour fully supports the W2C WebDriver spec and can be used with Tokio or Async-STD.

Lunatic

  • The warehouse link
  • Project home page

The Lunatic is a server-side WebAssembly runtime with the following features:

  • Inspired by Erlang, there is a preemptive scheduling runtime that generates user-mode threads that consume very few resources.
  • Isolation and security are ensured with the WASM virtual machine.
  • Will be fully compatible with WASI in the future

Postage

  • The warehouse link
  • The article links

What’s the publisher’s Postage for each of these asynchronous channels? Each of these channels can be packaged as a package from Sink/Stream.

The author is also the author of TAB.

RustSBI

  • The warehouse link

RustSBI is a RISC-V SBI implementation developed by Teacher Luo Jia. It supports common hardware cores and simulators, and can boot and start risC-V SBI standard operating systems, including Linux, rCore, etc.

Similar

  • The warehouse link

Similar is a modern diff library that borrows the patient sorting algorithm implemented by Pijul and combines Myer’s diff algorithm.

tantivy

  • The warehouse link

Tantivy is a full-text search engine library similar to Apache Lucene.

xh

  • The warehouse link

Xh is an Httpie Clone.

meio

  • The warehouse link

Meio is an asynchronous Actor framework whose design is inspired by Erlang/OTP and works well with asynchronous ecosystems in Rust. The authors are trying to make it WebAssembly compatible.

message-io

  • The warehouse link

Message-io is an event-driven message library that makes it easy and fast to build web applications. Message-io manages and processes socket data streams to provide users with simple event messaging apis. As a general-purpose network manager, it allows you to implement your own protocols by following some rules, while message-io manages the tedious asynchrony and thread management for you.

Cranelift

  • The warehouse link
  • The article links

Cranelift is a code generator implemented in the Rust programming language and designed to be a fast code generator that outputs machine code running at a reasonable speed. Today, it is used in several different WebAssembly runtimes, including Wasmtime and Wasmer, and can serve as an alternative back end to Rust debug compilation.

Voyager

  • The warehouse link

Voyager is a crawler library implemented with Rust.

Starlight

  • The warehouse link
  • Reddit link

Starlight is a JavaScript runtime designed to focus on speed and has been tested 2k+ Test262. Starlight is faster than Boa (another RUst-written JS engine) and aims to be as fast as V8.

Lettre

  • The warehouse link

Lettre is a library that can be used to send email.

Optic: Records and tests your API with real traffic

  • The warehouse link

Description:

  • Optic watches development traffic and understands the behavior of your API
  • Optic detects API changes by differentiating traffic from the current specification
  • Optic adds an accurate API change log for each pull request

Rust Web template project

  • The warehouse link

Rust Is not suitable for the Web. This is a Rust Web template project recommended by a group of enthusiastic members:

  • Manage environment variables using the.env file
  • Use Diesel to handle database migration
  • Cooperate with cargo- Watch to monitor program modification during development for easy debugging
  • Support for cargo- Tarpaulin test coverage

Termchat: a terminal chat software

  • The warehouse link

Thanks to Elon Musk s sudden fire at the Clubhouse, termChat allows users to chat at terminals.

Yatta: BSP tiled window manager for Windows10

  • The warehouse link

Recently, the author needed to switch from the previous MAC environment to the Windows environment for some reasons, but he could not find the desktop partition tool (window emission management tool) used in the previous MAC environment, so he spent several days studying many other similar tools and developed this.

Nlprule is an NLP library implemented by Rust

  • The warehouse link

Nlprule implements rules and lookups based methods for NLP using resources in LanguageTool.

Firestorm: Code analyzer

  • The warehouse link

Author Zach Burns released this invasive code analyzer. A Fire Tornado profiler helps code authors test the performance of Rust code; It can analyze time-sensitive parts of a project and output them to a timeline, combined flame, or other presentation. This is an intrusive analyzer, which means that the user needs to use macros provided by the analyzer to help the analyzer record while writing the code. The project documentation states that the analyzer can be enabled or disabled through compilation features; When not enabled, all logging operations are compiled as null operations, which does not affect production performance.

Our common performance analyzer, often based on the system-provided “perf” instruction, is like a debugger that suspends the process at the appropriate time, reads all the threads and related information at that time, and records from the interval sampling process to get the running performance output. This sampling does not require readding and compiling code, but it is more likely to miss short-time functions. When used properly, intrusive code profilers can record the details of performance with less impact on the performance of the program under test.

The Friestorm analyzer is open source on GitHub and comes with extensive usage documentation.

Rkyv 0.4: Shared Pointers and custom serializers

  • The warehouse link

Hello everyone, after about another month of work, RKYV0.4 has finally introduced new features and major changes.

In case you haven’t heard, RKYV is a zero-copy deserialization framework for Rust, similar to Cap’n Proto and FlatBuffers. It was built primarily for game development, but can also be used for a wide range of other applications.

Article links, www.reddit.com/r/rust/comm…

Rg3d game engine

  • The warehouse link

Over the past three months, RG3D and Rusty – Editor have made a number of significant features and improvements. And started using the engine to make a new game, Station Lapetus, a SCI-Fi 3D shooter.

Progress Report in last 3 months: RG3D.RS/General /202…

LAM: VMS in Actor mode

  • The warehouse link

LAM, for WebAssembly and Native Actor VMS.

Interview links: notamonadtutorial.com/lam-an-acto…

Project link: abstractMachines. Dev /