rusqlite VS wasi-sdk

Compare rusqlite vs wasi-sdk and see what are their differences.

rusqlite

Ergonomic bindings to SQLite for Rust (by rusqlite)

wasi-sdk

WASI-enabled WebAssembly C/C++ toolchain (by WebAssembly)
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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
rusqlite wasi-sdk
17 11
2,762 1,141
2.2% 3.5%
9.0 7.8
8 days ago 13 days ago
Rust Shell
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

rusqlite

Posts with mentions or reviews of rusqlite. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-15.
  • SQLite + Rust: Building a CLI Password Vault 🦀
    3 projects | dev.to | 15 Mar 2024
    "Rusqlite is an ergonomic wrapper for using SQLite from Rust." - Crates.io
  • Rusty way to store state for CLIs
    1 project | /r/learnrust | 25 Jun 2023
    If you're less concerned about the "structure" of your data (e.g., serializing into rust types) and just need tabular data that can be queried (e.g., how much did we bet on X date, who placed a bet on Y team, etc.) I would definitely lean more towards a SQLite database for that kind of work. rusqlite can get you a functional database fairly quickly with a little reading of the documentation (be sure to use the "bundled" feature).
  • WASM SQL database recommendations wanted
    2 projects | /r/rust | 27 May 2023
  • SQLite Release 3.42.0
    3 projects | news.ycombinator.com | 16 May 2023
    Create a connection per task. WAL is probably a good idea.

    Even using SERIALIZED mode, sqlite has multiple APIs which are completely broken if two clients touch the same connection (https://github.com/rusqlite/rusqlite/issues/342#issuecomment...).

    Don't bother, just don't share connections between threads and use the regular multi-thread mode (do use that though).

  • Best way to ship non-code files in a rust crate?
    1 project | /r/rust | 13 Jan 2023
    It fails your "ship with a crate" requirement, but when it comes to "csv but too small for a database" it's always worth having a think about SQLite. Of note, the rusqlite crate with the bundled feature will download, compile, and link against sqlite.
  • What does crate rusqlite add over crate sqlite?
    1 project | /r/rust | 11 Dec 2022
    You may want to read the Readme of Rusqlite, especially the Optional Features.
  • Embedded SQL database
    2 projects | /r/rust | 19 Jul 2022
    As far as I know, the only option for an embedded SQL database is SQLite. The most actively maintained one, for rust, seems to be rusqlite (https://github.com/rusqlite/rusqlite).
  • SQLite extension to query Excel (.xlsx, .xls, .ods) files as virtual tables
    2 projects | /r/programming | 25 Jun 2022
    Yes, but it's readonly. Also they did not merge loadable extensions support, which I need - https://github.com/rusqlite/rusqlite/pull/910
  • Rust for competitive programming
    2 projects | /r/rust | 25 Jun 2022
    rusqlite 0.27.0, which looks like it's still the latest version
  • Store SQLite in Cloudflare Durable Objects
    14 projects | dev.to | 26 Jan 2022
    SQLite is written in C, while workers is based on V8 isolates, so it mainly runs JavaScript. Fortunately, it also supports running WASM through initialising and calling WASM modules via JavaScript. Emscripten can be used to build WASM from C, but I'd rather use it through Rust (using rusqlite), so this is what I focus on right away. Workers can also be written entirely in Rust using worker-rs.

wasi-sdk

Posts with mentions or reviews of wasi-sdk. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-13.
  • Stop Hiding the Sharp Knives: The WebAssembly Linux Interface
    4 projects | news.ycombinator.com | 13 Dec 2023
    I would really love being able to take any POSIX command line tool, compile that to WASI, and run it on (at least) Linux, Windows and macOS like a regular executable without having to install a separate WASI runtime.

    I'm a 'WASI convert' since I was able to take an ancient 8-bit assembler written in the mid-90's (http://xi6.com/projects/asmx/), compile that as-is with the WASI SDK (https://github.com/WebAssembly/wasi-sdk), and then integrate it into a VSCode extension (https://marketplace.visualstudio.com/items?itemName=floooh.v...).

    A similar problem is I have is a shader cross-compiler (https://github.com/floooh/sokol-tools) which needs to run Linux, macOS and Windows and takes too long to build locally, thus I currently need to distribute that as pre-built binaries. Compiling this to WASI works, but the filesystem access restrictions built into current wasm runtimes are a hassle to manage, and it would require a WASI runtime to be separately installed).

  • WASI: WebAssembly System Interface
    6 projects | news.ycombinator.com | 5 Aug 2023
    There is the WASI SDK if you want to target WASI from C/C++:

    https://github.com/WebAssembly/wasi-sdk

    It may not have all the amenities of Emscripten, but it's way less bulky.

  • How to Debug WASI Pipelines with ITK-Wasm
    6 projects | dev.to | 2 Mar 2023
    The most direct way to debug WebAssembly is through the WebAssembly System Interface (WASI). In itk-wasm, we can build to WASI with the WASI SDK by specifying the itkwasm/wasi toolchain image. A backtrace can quickly be obtained with the itk-wasm CLI. Or, a fully fledged debugger session can be started with LLDB.
  • Hello Wasm World!
    5 projects | dev.to | 14 Jan 2023
    We use the add_executable command to build executables with itk-wasm. The Emscripten and WASI toolchains along with itk-wasm build and execution configurations are contained in itk-wasm dockcross Docker images invoked by the itk-wasm command line interface (CLI). Note that the same code can also be built and tested with native operating system toolchains. This is useful for development and debugging.
  • Wasmer takes WebAssembly libraries mainstream with WAI
    7 projects | news.ycombinator.com | 2 Dec 2022
    A more lightweight tool than emscripten is the WASI SDK (https://github.com/WebAssembly/wasi-sdk/releases). However, it doesn't generate JS or HTML.
  • A First Look at Wasm and Docker
    2 projects | dev.to | 6 Nov 2022
    wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-macos.tar.gz
  • Turbocharge your application development using WebAssembly with SingleStoreDB
    7 projects | dev.to | 4 Oct 2022
    First, we’ll download the wasi-sdk. We’ll use wasi-sdk-16.0-linux.tar.gz, the latest version available when writing this article. We’ll move the file to the /opt directory and unpack it as follows:
  • whats all the fuzz about wasi-libc?
    3 projects | /r/Gentoo | 17 Jun 2022
    I'm intrigued. Pretty good write-up about it here. One would need an ebuild for wasi-libc and an ebuild for wasi-sdk.
  • Store SQLite in Cloudflare Durable Objects
    14 projects | dev.to | 26 Jan 2022
    The previously mentioned PR for wasm32-unknown-unknown compatibility solved this by including libc .c files from OpenBSD. My go to solution is different though. I prefer to build using the wasi-sdk (a WASI-enabled WebAssembly C/C++ toolchain).
  • WebAssembly and Back Again: Fine-Grained Sandboxing in Firefox 95
    7 projects | news.ycombinator.com | 6 Dec 2021
    There's also the https://github.com/WebAssembly/wasi-sdk repo which is kind of a meta-build-system for all this.

    But in FreeBSD we build all the pieces directly, here's our build recipes (with some hacks due to llvm's cmake code being stupid sometimes):

    compiler-rt (from llvm): https://github.com/freebsd/freebsd-ports/blob/main/devel/was...

    libc (from what you linked): https://github.com/freebsd/freebsd-ports/blob/main/devel/was...

    libc++ (from llvm): https://github.com/freebsd/freebsd-ports/blob/main/devel/was...

What are some alternatives?

When comparing rusqlite and wasi-sdk you can also consider the following projects:

SQLite - Interface to SQLite

wasi-libc - WASI libc implementation for WebAssembly

rust-sqlite3 - Rustic bindings for sqlite3

binaryen - Optimizer and compiler/toolchain library for WebAssembly

wasm-sqlite - [Experimental] SQLite compiled to WASM with pluggable page storage.

linux - Linux kernel source tree

r2d2 - A generic connection pool for Rust

asyncify - Standalone Asyncify helper for Binaryen

rustsqlite

cross - “Zero setup” cross compilation and “cross testing” of Rust crates

nxdk - The cross-platform, open-source SDK to develop for original Xbox: *new* xdk