rust-bindgen
surrealdb
Our great sponsors
rust-bindgen | surrealdb | |
---|---|---|
50 | 92 | |
4,055 | 25,126 | |
2.2% | 1.9% | |
8.9 | 9.8 | |
17 days ago | about 7 hours ago | |
Rust | Rust | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
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.
rust-bindgen
- Rust Bindgen
-
ffizz: Build a Beautiful C API in Rust
Rust supports two kinds of FFI: calling into Rust from another language; and calling into another language from Rust. Most of the thought and tooling that exists right now is organized around the second kind. For example, bindgen is a popular tool that generates useful Rust wrappers from a C or C++ header file.
-
Best practices in creating a Rust API for a C++ library? Seeking advice from those who've done it before.
I have looked into bindgen, but found that it would not be feasible due to OMPL not having a C API, just C++.
-
the graphics driver doesn't work on gentoo.
Yes! Are you running LLVM version 16.0.0 or newer, by any chance? I believe this is an issue with some builds of bindgen with newer versions of LLVM. See https://github.com/rust-lang/rust-bindgen/issues/2488
-
Any sort of plugin engine with dynamic load ability and any limitations?
On native, you have to define a C API, probably using a header file. Even if both sides are implemented in Rust, they have to speak that C API (documentation).
-
How can I use rust libraries in C++
Bindgen has some functionality for direct talk to C++ https://github.com/rust-lang/rust-bindgen
-
Issue resolving dependencies when linking C libraries
I am trying to use rust-bindgen (https://github.com/rust-lang/rust-bindgen) to link a static C library (say `libexample.a`) which is compiled in a separate project with CMake. The `libexample.a` depends on other libraries (for example `libcurl.a`) installed on the system.
-
I implemented a NASA image compression algorithm
It looks like the guy you're replying too was kind of an ass, but I do want to point out for anyone else reading that that's not actually that much of a technical limitation: rust code can natively call C code. The main thing you need is a translation of the C library's header file so rustc knows what C functions and structs exist, and that can be automatically generated with bindgen.
-
Hey Rustaceans! Got a question? Ask here (5/2023)!
It's quite the different approach, but you could consider using bindgen instead.
-
Control hardware using c# or c++ API (dll)
Use bindgen or CXX to create Rust bindings for the C or C++ libraries.
surrealdb
-
Task tracker application using NextJS and SurrealDB
In this article, I have shared how I have built a simple task-tracking full-stack application using NextJS and SurrealDB.
-
The one thing I do not like about the Nix package manager (and a fix for it)
In this article, I'll show you how you can create a binary package for your desired program. I wanted to download the SurrealDB package, but the package on nix was a source package, meaning that I had to spend over 50 minutes waiting for a stupid package to compile.
-
2024 Web Development Wish List
Get Cloud Version going!
-
Live Queries in Rust
SurrealDB comes with a LIVE SELECT statement that allows you to listen for creations, updates and deletions to specific records you are interested in or entire tables. While you could already take advantage of this powerful feature with our JavaScript SDK or WebSockets, the Rust SDK added an API for it in v1.1.0. The Rust API for live queries builds on top of the already existing select method by simply adding a live method which converts the select query into a live select one. It works seamlessly with our current API, so you can use it with single records, a range of records, or entire tables. Unlike the normal select method which returns either a single result or a vector of results, it returns a stream of notifications. This works for the WebSocket engine and the local ones (the key value stores you can embed in your app). The only engine not yet supported is the HTTP one. In this article, we show some examples of running live queries via the Rust SDK. We will skip imports for brevity but your IDE and/or the Rust compiler should give you the correct suggestions. Please refer to this example in our repo for a full, working example.
-
SurrealDB 1.0
1.0 version but https://github.com/surrealdb/surrealdb/issues/1548 is still open :)
- SurrealDB Dependents
-
How to Design a SurrealDB schema and create a basic client for TypeScript
In the midst of a dynamic landscape of exciting new projects, one name shines bright — SurrealDB.
- SurrealDB 1.0 Live
- SurrealDB the Scalable Rust SQL/NoSQL/Graph DB Released v1.0.0 Today
-
Database Review: Top Five Missing Features from Database APIs
SurrealDB
What are some alternatives?
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
pocketbase - Open Source realtime backend in 1 file
cxx - Safe interop between Rust and C++
tikv - Distributed transactional key-value database, originally created to complement TiDB
autocxx - Tool for safe ergonomic Rust/C++ interop driven from existing C++ headers
neon - Rust bindings for writing safe and fast native Node.js modules.
vulkano - Safe and rich Rust wrapper around the Vulkan API
tantivy - Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust
JNA - Java Native Access
drizzle-orm - Headless TypeScript ORM with a head. Runs on Node, Bun and Deno. Lives on the Edge and yes, it's a JavaScript ORM too 😅
CC - A small, usability-oriented generic container library.
Apache AGE - Graph database optimized for fast analysis and real-time data processing. It is provided as an extension to PostgreSQL.