48 Repositories
Rust ffi Libraries
Integration between arrow-rs and extendr
arrow_extendr arrow-extendr is a crate that facilitates the transfer of Apache Arrow memory between R and Rust. It utilizes extendr, the {nanoarrow} R
Nostr protocol implementation, SDK and FFI
Searchnos: an experimental implementation of NIP-50 This is a relay-like bridge server that provides a Nostr full-text search capability by using Elas
A simple tutorial on how to call a C function from Rust 🦀
How to call a C function from Rust 🦀 ☎️ I was working on a Rust project where we needed to interact with code written in C. I had to learn how to wor
Handy macro to generate C-FFI bindings to Rust for Haskell
hs-bindgen Handy macro to generate C-FFI bindings to Rust for Haskell. This library intended to work best in a project configured by cargo-cabal. N.B.
Rust Attribute-Based Encryption library rabe's C FFI binding , support CP-ABE and KP-ABE encrypt and decrypt, submodule of Rabe.Core c# library.
Rabe-ffi Rust Attribute-Based Encryption library rabe's C FFI binding , support CP-ABE and KP-ABE encrypt and decrypt, submodule of Rabe.Core c# libra
Unopinionated low level API bindings focused on soundness, safety, and stronger types over raw FFI.
🔥 firehazard 🔥 Create a fire hazard by locking down your (Microsoft) Windows so nobody can escape (your security sandbox.) Unopinionated low level A
MetaCall: The ultimate polyglot programming experience.
MetaCall Polyglot Runtime MetaCall.io | Install | Docs MetaCall allows calling functions, methods or procedures between multiple programming languages
Rust SDK wrapper for the Mystic Light SDK
mystic_light_sdk Rust SDK wrapper for the Mystic Light SDK Requirements Any MSI device with RGB support Only Windows 7+ Dragon Center or Msi Center in
Unicorn Emulator Debug Server - Written in Rust, with bindings of C, Go, Java and Python
udbserver - Unicorn Emulator Debug Server When you do emulation with Unicorn Engine, do you want to inspect the inner state during every step? udbserv
ODBC wrapper for safe idiomatic Rust
ODBC wrapper for safe idiomatic Rust Library for writing ODBC applications in Rust. If you're looking for raw ODBC FFI bindings check odbc-safe and od
Rust FFI bindings for StarkWare's crypto-cpp library
starkware-crypto-rs Rust FFI bindings for StarkWare's crypto-cpp library Note that currently target x86_64-pc-windows-msvc is not supported. If you're
A simple test on interacting between languages with JS and Rust.
NODE-JS-RUST-FFI A simple test on interacting between languages with JS and Rust. How to run Requirements nodejs rustc + cargo Compile First compile t
Rust-ffi-guide - A guide for doing FFI using Rust
Using unsafe for Fun and Profit A guide to traversing the FFI boundary between Rust and other languages. A rendered version is available here. This gu
Pyo3 - Rust bindings for the Python interpreter
PyO3 Rust bindings for Python, including tools for creating native Python extension modules. Running and interacting with Python code from a Rust bina
Winsafe-examples - Examples of native Windows applications written in Rust with WinSafe.
WinSafe examples This repo contains several examples of native Win32 applications written in Rust with WinSafe. All examples follow the same program s
Calling the JVM from Rust via JNI
Rucaja (Rust calls Java) Calling JVM code from Rust via JNI. Usage JNI calls are about 10-20 times slower than regular JVM instructions. It is adviced
FFI wrapper around cfitsio in Rust
rust-fitsio FFI wrapper around cfitsio in Rust Installation fitsio supports versions of cfitsio = 3.08. cfitsio must be compiled with reentrant suppo
(WIP) Rust bindings to QuickJS
(WIP) rusty_qjs Rust bindings to QuickJS. Todo JSValue::new_... returns a Result specific JSValue type, like JsString, JsNumber...? catch unwind for e
Experimental Rust tool for generating FFI definitions allowing many other languages to call Rust code
Diplomat is an experimental Rust tool for generating FFI definitions allowing many other languages to call Rust code. With Diplomat, you can simply define Rust APIs to be exposed over FFI and get high-level C, C++, and JavaScript bindings automatically!
The polyglot bindings generator for your library (C#, C, Python, …) 🐙
Interoptopus 🐙 The polyglot bindings generator for your library. Interoptopus allows you to deliver high-quality system libraries to your users, and
🪣 Types for a `Vec`'s raw parts
raw-parts A wrapper around the decomposed parts of a VecT. This struct contains the Vec's internal pointer, length, and allocated capacity. RawParts
luau bindings for the Rust programming language
🌔 luau-rs Luau bindings for the Rust programming language using bindgen ⚠️ Disclaimer This does not provide bindings for everything as luau does not
High-level memory-safe binding generator for Flutter/Dart - Rust
flutter_rust_bridge: High-level memory-safe binding generator for Flutter/Dart - Rust Want to combine the best between Flutter, a cross-platform hot
Core Rust-C FFI for Stackmate Wallet.
STACKMATE-CORE A Rust-C FFI library exposing composite functionality from rust-bitcoin & bdk; to create cross-platform descriptor wallets. Currently u
Using the powers of Rust, Go and Dragonfly to make a vanilla-like world generation.
df-rs-gen — Dragonfly Rust Generator Using the powers of Rust, Go and Dragonfly to make a vanilla-like world generation. How to use Clone the repo. gi
UnixString is An FFI-friendly null-terminated byte string
UnixString is an FFI-friendly null-terminated byte string that may be constructed from a String, a CString, a PathBuf, an OsString or a collection of bytes.
Simplified glue code generation for Deno FFI libraries written in Rust.
deno_bindgen This tool aims to simplify glue code generation for Deno FFI libraries written in Rust. Quickstart # install CLI deno install -Afq -n den
Membrane is an opinionated crate that generates a Dart package from a Rust library. Extremely fast performance with strict typing and zero copy returns over the FFI boundary via bincode.
Membrane is an opinionated crate that generates a Dart package from a Rust library. Extremely fast performance with strict typing and zero copy returns over the FFI boundary via bincode.
Write Cloudflare Workers in 100% Rust via WebAssembly
Work-in-progress ergonomic Rust bindings to Cloudflare Workers environment. Write your entire worker in Rust! Read the Notes and FAQ Example Usage use
最快速的PHP中文转拼音库
ffi-pinyin 该项目是将中文汉字转换成拼音,使用rust构建动态链接库来给php调用。 该库主要是为了提高php转换中文拼音的性能而构建(特别是长文章)。 环境 需要php = 7.4 以上的版本并且开启了FFI扩展。如果你需要自己编译库还需要装rust 工具链。 还需要设置php.ini
A cross-platform crate with FFI bindings to allow for complex vehicle ECU diagnostics.
ecu_diagnostics A cross-platform crate with FFI bindings to allow for complex vehicle ECU diagnostics. IMPORTANT Currently this crate is not 100% read
duckdb-rs is an ergonomic wrapper for using duckdb from Rust.
duckdb-rs duckdb-rs is an ergonomic wrapper for using duckdb from Rust. It attempts to expose an interface similar to rusqlite. Acctually the initial
Rust library for building and running BPF/eBPF modules
RedBPF A Rust eBPF toolchain. Overview The redbpf project is a collection of tools and libraries to build eBPF programs using Rust. It includes: redbp
Rust bindings for XGBoost.
rust-xgboost Rust bindings for the XGBoost gradient boosting library. Documentation Basic usage example: extern crate xgboost; use xgboost::{paramete
Foreign Function Interface Plugin for Deno.
Deno FFI Plugin to call dynamic library functions in Deno. Usage import { Library } from "https://deno.land/x/[email protected]/mod.ts"; const lib = new
A safe Rust FFI binding for the NVIDIA® Tools Extension SDK (NVTX).
NVIDIA® Tools Extension SDK (NVTX) is a C-based Application Programming Interface (API) for annotating events, code ranges, and resources in your applications. Official documentation for NVIDIA®'s NVTX can be found here.
libc - Raw FFI bindings to platforms' system libraries
libc provides all of the definitions necessary to easily interoperate with C code (or "C-like" code) on each of the platforms that Rust supports. This includes type definitions (e.g. c_int), constants (e.g. EINVAL) as well as function headers (e.g. malloc).
Deno Foreign Function Interface.
deno_plugin_ffi (WIP & Need Help) Deno Foreign Function Interface. deno_ffi is a Deno plugin for loading and calling dynamic libraries using pure Java
Rust binding to crfsuite
crfsuite-rs Rust binding to crfsuite Installation Add it to your Cargo.toml: [dependencies] crfsuite = "0.3" Add extern crate crfsuite to your crate r
Rust bindings to Windows API
winapi-rs Documentation Official communication channel: #windows-dev on the Rust Community Discord This crate provides raw FFI bindings to all of Wind
High level FFI binding around the sys mount & umount2 calls, for Rust
sys-mount High level FFI bindings to the mount and umount2 system calls, for Rust. Examples Mount This is how the mount command could be written with
BearLibTerminal FFI for Rust
BearLibTerminal.rs BearLibTerminal FFI for Rust. Requirements You need to compile/get a precompiled version of BearLibTerminal yourself and put it som
Rust bindings for the Python interpreter
PyO3 Rust bindings for Python. This includes running and interacting with Python code from a Rust binary, as well as writing native Python modules. Us
Zero-cost high-level lua 5.3 wrapper for Rust
td_rlua This library is a high-level binding for Lua 5.3. You don't have access to the Lua stack, all you can do is read/write variables (including ca
Rust in Haskell FFI Example
Provides an example for using Rust in Haskell. To use this you'll need cargo, rustc, cabal and GHC installed. To execute the example run the following
Bridge the gap between Haskell and Rust
Curryrs Curryrs (a play on the name of Haskell Curry, rs for Rust libraries, and it's pronunciation couriers) is a library for providing easy to use b
Safe Rust bridge for creating Erlang NIF functions
Rustler Documentation | Getting Started | Example Rustler is a library for writing Erlang NIFs in safe Rust code. That means there should be no ways t
Automatically generates Rust FFI bindings to C (and some C++) libraries.
bindgen bindgen automatically generates Rust FFI bindings to C (and some C++) libraries. For example, given the C header doggo.h: typedef struct Doggo