libsql
mrustc
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.
libsql
-
Show HN: Roast my SQLite encryption at-rest
> PS: I've got nothing against Turso, or libSQL. In fact I spent the last year perusing their virtual WAL API. The problem is that I found no documentation, nor any useful open source implementations of it. If there any I'd be very interested. So, thus far, I also don't have anything that drives towards libSQL.
Hey, this is v and I am an engineer at Turso. We do have some documentation and an example implementation of Virtual WAL
docs: https://github.com/tursodatabase/libsql/blob/ef44612/libsql-...
example: https://github.com/tursodatabase/libsql/blob/ef44612/libsql-...
for an open source implementation, you may check how Bottomless works. Bottomless is another project which does back up like litestream and it internally implements a Virtual WAL.
Bottomless - https://github.com/tursodatabase/libsql/tree/main/bottomless
I am sure we can improve our docs, make it more discover-able and easy to find. I am open to feedback and suggestions!
-
11 Planetscale alternatives with free tiers
Astro DB is powered by LibSQL, an open source fork of SQLite that was created by Turso. You can use Astro DB's drop-in database to build features like blogs, comment functionality, forums, feedback systems, and user authentication.
-
"If this one guy got hit by a bus, the software would fall apart."
sqlite already had an active community fork started by Turso called libsql. They are fixing longstanding API gaps the upstream team isn’t interested in supporting. For example, they added a native write-ahead log API, so you can plug directly into the WAL for streaming replication. This is possible-ish with upstream sqlite + LiteFs but litefs has to implement a whole FUSE file system and can’t run on Mac for that reason.
It’s more risky to run libsql because new features mean new bugs, but it seems worth it to me.
Libsql: https://github.com/tursodatabase/libsql
- Sqld – A Server Mode for LibSQL
-
Show HN: My Go SQLite driver did poorly on a benchmark, so I fixed it
A bit of a tangent but for those who’d like to use SQLite for a backend, running it as a separate daemon could be an interesting choice, which would also remove there need of Cgo for the build and maybe make things like separate background job processes easier to accomplish. See [1], [2].
—-
1: https://github.com/tursodatabase/libsql/tree/main/libsql-ser...
2: https://news.ycombinator.com/item?id=38602175
- LibSQL, a fork of SQLite accepting third-party contributions
- FLaNK Stack Weekly for 14 Aug 2023
-
SQLite builds for WASI since 3.41.0
https://www.sqlite.org/copyright.html
To summarize, instead of using one of the OSS licenses, the copyright holders simply declare the source to be in the public domain. In order to preserve that status they don't accept patches unless you submit some signed document that you agree with that.
To make things more complicated, they also use their a relatively niche version management system instead of git. Which would complicate making contributions (if they accepted them).
There's a popular fork that fixes all of these issues: https://github.com/libsql/libsql It is MIT licensed, on Github, and open for contributions.
Kind of a weird legal situation for a popular project like this that so many people depend on to have. Not judging; but it is odd. Seems like a lot of wasted efforts between users, would be contributors, and the people that forked this thing to address all that.
-
SQLite is not a toy database
You could try making feature requests for https://github.com/libsql/libsql , which is a community fork of SQLite that aims to speed-up the development of long-wanted features.
-
Get started with libSQL, a next-gen fork of SQLite
For a comprehensive view, check out the issues list for libSQL core and sqld. But mostly, I want libSQL to be a home for all builders who believe there is room to take a lean, mean, and SQLite-compatible embedded database to new heights. I’d love to see your contribution!
mrustc
-
Why do lifetimes need to be leaky?
No, you don't. Existential proof: mrustc ignores lifetimes. Just flat out simply ignores. It changes some corner-cases related to HRBT, yet rustc compiled by mrustc works (that's BTW mrustc exist: to bootsrap the rustc compiler).
-
I think C++ is still a desirable coding platform compared to Rust
Incidentally C++ is the only way to bootstrap rust without rust today.
https://github.com/thepowersgang/mrustc
-
Rust – Faster compilation with the parallel front-end in nightly
Well, there is mrustc[0], a Rust compiler that doesn't include a borrow-checker, so it's possible to compile (at least some versions of) Rust without a borrow checker, though it might not result in the most optimized code.
AFAIK there are some optimization like the infamous `noalias` optimization (which took several tries to get turned on[1]) that uses information established during borrow checking.
I'm also not sure what the relation with NLL (non-lexical lifetimes) is, where I would assume you would need at least a primitive borrow-checker to establish some information that the backend might be interested in. Then again, mrustc compiles Rust versions that have NLL features without a borrow-checker, so it's again probably more on the optimization side than being essential.
[0]: https://github.com/thepowersgang/mrustc
[1]: https://stackoverflow.com/a/57259339
- Running the "Reflections on Trusting Trust" Compiler
-
Forty years of GNU and the free software movement
> Maybe another memory safe language, but Rust has severe bootstrapping issues which is a hard sell for distros that care about source to binary transparency.
It is possible to bootstrap rustc from just GCC relatively easily, although it's a little bit time consuming.
You can use mrustc to bootstrap Rust 1.54: https://github.com/thepowersgang/mrustc
And from then you can go through each version all the way to the current 1.72. (Each new Rust version officially needs the previous one to compile.)
-
Building rustc on sparcv9 Solaris
Have you tried this route : https://github.com/thepowersgang/mrustc ?
-
GCC 13 and the state of gccrs
Mrustc supports Rust 1.54.0 today
- Any alternate Rust compilers?
-
Stop Comparing Rust to Old C++
There are three. The official one, mrustc (no borrow checker, but can essentially compile the official rustc) and GCC (can't really compile anything substantial yet). Only rustc is production-ready though.
-
Can I make it so that only the newest version of Rust gets installed?
That probably depends on what you mean by problematic. Having an ever increasing chain of dependencies isn’t the most desirable situation so there has been some work to trim the bootstrap chain. In 2018, when the blogpost I linked above was written, mrustc was used to bootstrap rust 1.19.0; now mrustc can bootstrap rust 1.54.0 so the chain to recent versions is much shorter than if all those intervening versions back through 1.19.0 needed to be built. https://github.com/thepowersgang/mrustc
What are some alternatives?
rqlite - The lightweight, distributed relational database built on SQLite.
gccrs - GCC Front-End for Rust
litellm - Call all LLM APIs using the OpenAI format. Use Bedrock, Azure, OpenAI, Cohere, Anthropic, Ollama, Sagemaker, HuggingFace, Replicate (100+ LLMs)
gccrs - GCC Front-End for Rust
jdbc-connector-for-apache-kafka - Aiven's JDBC Sink and Source Connectors for Apache Kafka®
llvm-cbe - resurrected LLVM "C Backend", with improvements
stream-sqlite - Python function to extract rows from a SQLite file while iterating over its bytes
rust-ttapi
StorX-API - A REST API for StorX
miri - An interpreter for Rust's mid-level intermediate representation
bottomless
gcc-rust - a (WIP) Rust frontend for gcc / a gcc backend for rustc