rusqlite
Ergonomic bindings to SQLite for Rust (by rusqlite)
cross
“Zero setup” cross compilation and “cross testing” of Rust crates (by cross-rs)
Our great sponsors
rusqlite | cross | |
---|---|---|
13 | 93 | |
1,889 | 4,093 | |
4.2% | 5.9% | |
7.9 | 9.6 | |
5 days ago | 9 days ago | |
Rust | Rust | |
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.
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 2022-07-19.
-
Embedded SQL database
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
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
rusqlite 0.27.0, which looks like it's still the latest version
-
Store SQLite in Cloudflare Durable Objects
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.
-
I wrote a telegram bot in rust - a brief story and bot description
For the persistence layer I used Rusqlite and r2d2-sqlite for creating a connection pool.
-
Is the chrono crate unmaintained?
There are feature flags in chrono that make possible to disable usage of time: https://github.com/rusqlite/rusqlite/pull/1031
-
Hey Rustaceans! Got an easy question? Ask here (10/2021)!
I want to use arrays in sqlite but the documentations for rusqlite doesn't have examples of how to use the extra array feature. How do I store and search text arrays in rusqlite?
-
New chapter on the series - Writing a SQLite clone from scratch in Rust
Since this is a learning project, its probably not a good idea to count on this being production ready. If you need SQLite in your project checkout rusqlite. And for cross compiling issues simply use its bundled feature, makes it a breeze.
cross
Posts with mentions or reviews of cross.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-01-30.
-
Hey Rustaceans! Got a question? Ask here (5/2023)!
I build on x86, for aarm64/armv7 musl targets, using cross-rs. My issue is, forever and always, tls. Previously I just used openssl = { version = '0.10', features = ["vendored"] } in Cargo.toml.
-
Cross-compiling simple Rust code from Mac OS X to Raspberry Pi 4
A Docker-based solution like cross is generally suggested because the ad-hoc nature of C and C++ build systems can impart an unpredictable level of difficulty on cross-compiling any C or C++ libraries your Rust code depends on.
Have you tried using cross?
-
Installing Rust in a Raspberry Pi 3A+
cross-rs (https://github.com/cross-rs/cross)
Yes, cross compiling with https://github.com/cross-rs/cross is relatively painless. I recommend doing that instead of compiling on the PI.
-
Hey Rustaceans! Got a question? Ask here (2/2023)!
I develop on x86, and when targeting other platforms, I use cross-rs to compile, the applications are always deployed on Docker containers, using either ubuntu:22.04, or alpine:3.17 as the Base (to x86, armv6, or arrm64 targets, depending on the project).
-
Hey Rustaceans! Got a question? Ask here (1/2023)!
Way to reproduce: 1. Create a new project 2. Add compress-tools = "0.14" to Cargo.toml 3. Install docker and cross-rs 4. Create Cross.toml with content [target.armv7-unknown-linux-musleabihf] pre-build = ["DEBIAN_FRONTEND=noninteractive apt-get -yq install libarchive-dev protobuf-compiler"] 5. Run cross build --release --target armv7-unknown-linux-musleabihf
-
I'm releasing cargo-sandbox
As for inspiration, look no further than cross.
-
[HELP] Rust cross-compile for aarch64 error `libdbus-sys v0.2.2`
I strongly recommend trying to use cross https://github.com/cross-rs/cross it should work fine for you use case, it not only takes care about compiler/linker but also external libs you might link against. If a lib is missing you can make you own dockerfile and install it in the target sysroot you are compiling then against.
-
Future of Rust, 2023 and beyond?
Have you seen cross? I don't normally do multi-platform builds, but I've used it for compiling for different arches. For me if there's nothing major dynamically linked then it "just works(TM)". If you do need to link to something like SQLite then you can setup your own base image that provides it (the "Custom Docker image" section)
What are some alternatives?
When comparing rusqlite and cross you can also consider the following projects:
SQLite - Interface to SQLite
rust-sqlite3 - Rustic bindings for sqlite3
wasm-sqlite - [Experimental] SQLite compiled to WASM with pluggable page storage.
r2d2 - A generic connection pool for Rust
rustsqlite
dockcross - Cross compiling toolchains in Docker images
termux-adb-fastboot - android adb-fastboot tools for termux
opencv-rust - Rust bindings for OpenCV 3 & 4
Gibbs MySQL Spyglass - Gibbs MySQL Spyglass
plotters - A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀
coreutils - Cross-platform Rust rewrite of the GNU coreutils
Cargo - The Rust package manager