-
napi
N-API bindings
-
cxx
Safe interop between Rust and C++
-
cbindgen
generating C bindings to Rust code
-
bindgen
Automatically generates Rust FFI bindings to C and C++ libraries
-
pyo3
Bindings to Python interpreter
-
numpy
PyO3-based Rust bindings of the NumPy C-API
-
jni
Rust bindings to the JNI
-
uniffi
a multi-language bindings generator for rust
-
magnus
High level Ruby bindings. Write Ruby extension gems in Rust, or call Ruby code from a Rust binary.
-
stabby
A Stable ABI for Rust with compact sum-types
-
flutter_rust_bridge
Flutter/Dart <-> Rust binding generator, feature-rich, but seamless and simple
-
csbindgen
Generate C# FFI from Rust for automatically brings native code and C native library to .NET and Unity
-
pythonize
Serde Serializer & Deserializer from Rust <--> Python, backed by PyO3
-
cpp
Inline C++ code closures
-
maturin
Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
-
c2rust-bitfields
C-compatible struct bitfield implementation used in the C2Rust project
-
inkwell
aims to help you pen your own programming languages by safely wrapping llvm-sys
-
cxx-gen
C++ code generator for integrating
cxx
crate into higher level tools -
mbox
malloc-based box. Supports wrapping pointers or null-terminated strings returned from malloc as a Rust type, which will be free'd on drop
-
autocxx
Safe autogenerated interop between Rust and C++
-
tlua
Zero-cost high-level wrapper for Tarantool-LuaJIT
-
interoptopus
The polyglot bindings generator for your library (C#, C, Python, ...). 🐙
-
ocaml
bindings for Rust
-
node-bindgen
easy way to write nodejs module using rust
-
cglue
FFI safe abstractions for making plugins and C-compatible libraries
-
allo-isolate
Run Multithreaded Rust along with Dart VM (in isolate)
-
rubicon
Deduplicate globals across shared objects to enable a dangerous form of dynamic linking
-
tealr
enhance the APIs provided by the mlua crates
-
libffi
Rust bindings for libffi
-
td_rlua
Zero-cost high-level lua 5.3 wrapper for Rust
-
wolfram-library-link
Bindings to Wolfram LibraryLink
-
ocaml-interop
OCaml interoperability
-
chlorine
Just the C types for
no_std
, but builds faster -
doxygen-rs
Transform Doxygen to Rustdoc
-
yara
Rust bindings for VirusTotal/yara
-
mustang
Rust programs written entirely in Rust
-
ffi-support
help expose Rust functions over the FFI
-
flapigen
connecting libraries written in Rust with other languages
-
pact_ffi
Pact interface for foreign languages
-
libc_alloc
global allocator which hooks into libc's malloc/free
-
va_list
'va_list' type for a small set of ABIs. Allowing rust implementations of functions like vprintf.
-
ext-php-rs
Bindings for the Zend API to build PHP extensions natively in Rust
-
pyo3-file
A small helper library for working with python file-like objects with rust
-
dsync
Generate rust structs & query functions from diesel schema files
-
rust2go
main shared library
-
llvm-plugin
A wrapper for easily implementing out-of-source-tree LLVM plugins in Rust
-
buffi
generate ergonomic, buffer-based C++ APIs
-
metacall
Call NodeJS, TypeScript, Python, C#, Ruby... functions from Rust (a Rust Port for MetaCall).
-
dart-sdk-sys
Rust bindings to Dart SDK
-
eyra
Rust programs written entirely in Rust
-
bindgen-cli
Automatically generates Rust FFI bindings to C and C++ libraries
-
napi-ohos
N-API bindings
-
foreign-types
A framework for Rust wrappers over C APIs
-
autocxx-bindgen
Automatically generates Rust FFI bindings to C and C++ libraries. Version adjusted for autocxx.
-
pyo3-asyncio
PyO3 utilities for Python's Asyncio library
-
serde_magnus
Serde integration for Magnus
-
svd2pac
generate peripheral access crates from SVD files
-
extendr-engine
Safe and user friendly bindings to the R programming language
-
sentinel
A sentinel-terminated slice library
-
citrus
C to Rust syntax converter
-
oo-bindgen
DSL-based binding geneator for C, C++, Java, and C#
-
cpp_build
Cargo build script for the
cpp
crate -
openmp-sys
Link with OpenMP (libgomp)
-
tree-sitter-language
The tree-sitter Language type, used by the library and by language implementations
-
cluFlock
Installation and subsequent safe removal of
flock
locks for data streams -
pyo3-built
Expose build variables obtained with built as a PyDict
-
reference-counted-singleton
Reference-counted singleton whose protected data can be recreated as needed
-
seesaw-cli
generate traits from C header files
-
emacs
creating Emacs's dynamic modules
-
wstp
Bindings to the Wolfram Symbolic Transfer Protocol (WSTP)
-
robusta_jni
Easy interop between Rust and Java
-
stabby-abi
stabby’s core ABI, you shouldn’t add this crate to your dependencies, only
stabby
-
rs4j
A small, automatic, efficient, and easy-to-use Rust to Java bridge
-
libremarkable
The only publicly available Framework for developing applications for the Remarkable Paper Tablet w/ Low Latency Partial Refresh Support
-
cadical-sys
Almost complete safe and unsafe bindings for the CaDiCal SAT solver. Made using the cxx crate and then wrapped in a safe 1 to 1 API.
-
uniffi_bindgen
a multi-language bindings generator for rust (codegen and cli tooling)
-
opaque-pointer
Generic functions to work with opaque pointers when use FFI to expose Rust structs
-
trixy
used to generate multi-language apis for your application
-
bindgen_helpers
rename, change case, and fix Rust code generated by bindgen from C headers
-
cstr8
string types that are both valid UTF-8 and nul-terminated
-
directcpp
Direct call cpp from Rust
-
rifgen
ffi Interface file generator. Use with flapigen
-
safer-ffi-gen
FFI wrapper generator based on safer-ffi
-
deno_bindgen
Write high-level Deno FFI libraries in Rust
-
ffi-opaque
macro to create correct opaque pointers
-
Ygen
code generation libary like LLVM
-
fambox
data structure for ergonomically and safely using c's flexible array members
-
ffi_types
C ABI compatible wrappers for cbindgen/bindgen
-
tblgen-alt
Safe Rust bindings for TableGen. Alternative updated version.
-
uniffi-bindgen-java
a java bindings generator for uniffi rust
-
dart-sys
Statically generated, Opt-in style bindings to the Dart SDK
-
c2rust-asm-casts
Type cast helpers for use with C2Rust's inline assembly implementation
-
pyo3_bindgen_cli
CLI tool for automatic generation of Rust bindings to Python modules
-
rustler_sys
Create Erlang NIF modules in Rust using the C NIF API
-
c_str_macro
c_str macro to create C-compatible string literals
-
rs_container_ffi
Wrap Rust Vec, std::collections::{BTreeMap, BTreeSet} for C
-
nj-sys
low level binding to Node N-API
-
demangle
CLI tool for quickly demangling a symbol
-
cxx-demo
Toy project from https://github.com/dtolnay/cxx
-
cmod
Build a cross-language module with Rust FFI
-
minutus
mruby bridge for Rust
-
arrow_extendr
Enables the use of arrow-rs in R using extendr and nanoarrow
-
evil-janet
Low level bindings to the janet language c api
-
fastly-shared
Shared definitions for Fastly Compute
-
pyo3-build-config
Build configuration for the PyO3 ecosystem
-
vpi_export
Export Rust function to be used on a verilog module through VPI
-
ndk-glue
Startup code for android binaries
-
vtable-rs
Set of traits and macros to help dealing with C++ virtual method FFI
-
fcplug
Foreign-Clang-Plugin solution, such as solving rust and go two-way calls
-
rsabpoa
abpoa rust binding
-
arcdps
Rust bindings for the Guild Wars 2 dps-meter with focus on ease-of-use and performance
-
flutter_rust_bridge_codegen
Flutter/Dart <-> Rust binding generator, feature-rich, but seamless and simple
-
rpkg-config
Standalone library for reading pkg-config .pc files
-
zstring
Zero-termianted string lib, for use with C FFI
-
napi-sys
NodeJS N-API raw binding
-
rigetti-pyo3
creating a Python wrapper for a Rust library
-
skynet_api
API for Skynet plugin
-
c_import
macro for Rust
-
fruity__bbqsrc
bindings for Apple libraries
-
codesnap-cli
CLI tools for generating beautiful code snapshots
-
hdf5-metno-src
Build script for compiling HDF5 C library from source
-
cffi
Safe* C FFI interface generation
-
printf-wrap
Types and functions for safely wrapping C functions with printf(3)-style format strings and varargs
-
python_comm
writing python modules with rust easier
-
cglue-gen
FFI safe code generation for making plugins and C-compatible libraries
-
csz
Abstractions for nul-terminated C strings
-
llvm_quick
Rust's wrapper for llvm
-
libffi-sys
Raw Rust bindings for libffi
-
vst3-bindgen
Binding generator for the VST 3 API
-
buffi_macro
A proc-macro to generate ergonomic, buffer-based C++ APIs
-
pyo3-async-runtimes
PyO3 bridges from Rust runtimes to Python's Asyncio library
-
autocxx-build
Safe autogenerated interop between Rust and C++
-
playdate-bindgen-cfg
Minimal configuration for playdate-bindgen
-
deno-libffi
Rust bindings for libffi
-
block-id
generating opaque, unique, and short string values from (unsigned) integers
-
abistr
C ABI compatible string types
-
fmtbuf
formatting to a fixed-size buffer
-
razor-libnvpair
Low-level libnvpair interface
-
interoptopus_backend_cpython
Generates CPython bindings
-
uniffi_udl
udl parsing for the uniffi project
-
hash-ids
a fast hashids (hashids.org) implementation
-
gmserverplugin
accessing the Lua state in Garry's Mod server plugins
-
rosy
Ruby bindings for Rust
-
rust2go-cli
Rust2go commandline tool
-
wasmer_inkwell
Inkwell aims to help you pen your own programming languages by safely wrapping llvm-sys
-
mls-rs-ffi
Helper crate to generate FFI definitions for mls-rs
-
pyo3-commonize
Allow PyO3 classes to be passed between different PyO3 crates
-
libryzenadj
Safe bindings to libryzenadj
-
verilator
Automated generation of Verilator test modules
-
libpt-bintols
Personal multitool
-
xcode_uniffi
Xcode framework generator/updater tool for rust UniFFI
-
iop-sdk-ffi
C ABI bindings to the client SDK for the IOP Stack™
-
ffi-closure
Send and recevie closures through FFI
-
stb
Safe Rust API for stb libraries
-
pyo3-testing
Simplified testing for pyo3-wrapped functions
-
codify
Codify.rs translates between types from different programming languages
-
jni-bind
Made importing classes from java easy
-
solder
build PHP extensions using Rust
-
c2rust-build-paths
C2Rust utilities related to build paths, primarily at build time
-
tfhe-c-api-bindgen
generating C bindings to Rust code
-
os_str_bytes
Lossless functionality for platform-native strings
-
fcplug-build
Foreign-Clang-Plugin solution, such as solving rust and go two-way calls
-
theus
A procedural macro for generating C-compatible functions from Rust structs and traits
-
widestring
wide string Rust library for converting to and from wide strings, such as those often used in Windows API or other FFI libaries. Both
u16
andu32
string types are provided, including support for UTF-16 and UTF-32… -
jni-glue
Manually written glue code to accompany the jni-bindgen code generator for binding to JVM APIs from Rust
-
abibool
C ABI compatible boolean types
-
joltc-sys
Unsafe bindings to Jolt Physics using JoltC
-
pyo3-opentelemetry
Macro and utilities for passing OpenTelemetry context from Python to Rust
-
clib
Generates bindings for C libraries
-
cstrptr
FFI-compatible and no-std &CStr
-
c_source_parser_ffi
Scan C/C++ source tree to get #include dependency and symbols
-
java-spaghetti
Glue code to accompany the java-spaghetti code generator for binding to JVM APIs from Rust
-
cpp_common
details crate for the
cpp
crate -
no_mangle_pub_export_c_fn
extracting #[no_mangle] pub extern "C" functions
-
machinecode
Execute machine code in hex form
-
inkwell_llvm12
Inkwell aims to help you pen your own programming languages by safely wrapping llvm-sys
-
scannit-core-ffi
An FFI wrapper around scannit-core. Exports scannit-core's functionality and data models in an FFI-friendly manner.
-
atri_ffi
AtriPlugin FFI structs
-
sn_bindgen
automatically generate C, Java, and C# files from Rust source files
-
interoptopus_backend_c
Generates C bindings
-
pyo3-arraylike
Convenience extension for rust-numpy
-
razor-libzfscore
Low-level libzfs_core interface
-
iredismodule
A toolkit for building Redis modules in Rust
-
pyo3-ffi
Python-API bindings for the PyO3 ecosystem
-
cly
A program to calculate the layout of C types
-
dart
Idiomatic bindings to the dart native extensions api
-
autocxx-parser
Safe autogenerated interop between Rust and C++
-
pyo3_bindgen
Automatic generation of Rust bindings to Python modules
-
service-bindings
access Service Binding Specification for Kubernetes conformant Service Binding Workload Projections
-
libfossil-rs
FFI bindings to libfossil
-
phper-sys
Low level PHP binding for Rust
-
externc-libm
A port of
libm
that has all the required no_mangle and extern-cs for linking -
asciiz
create buffer and copy bytes ends with 0u8
-
package_js
Install and run npm packages
-
playdate-bindgen
Bindgen configuration for Playdate API and utils
-
autocxx-engine
Safe autogenerated interop between Rust and C++
-
libipt-sys
raw bindings to the libipt intel processor tracing library
-
jvmti-rs
Rust bindings to the JVMTI
-
zsh-module
A High-level framework for creating zsh modules
-
ritual_common
Common utilities for ritual and ritual_build
-
javawithrust
Transfer function calls between Rust and Java in a rust-like (ish) way
-
nanocom
Nano-COM, extremly small subset of cross-platform COM
-
cfg_table
macro that expands to different values across compilation targets
-
ffi_reflect
derive macro that genreates a reflection method for C-comaptible types
-
viable
Interop with C++ MSVC VTables through Rust! If this hasn't been used for a while, you can message me for the name
-
libefi-sys
Bindings for libefi on illumos
-
mem-ring
Across-thread queue based on shared memory
-
xenforeignmemory
Safe bindings to xenforeignmemory
-
cluproccmdline
Fast secure parsing /proc/cmdline
-
cluConcatBytes
Merges literals into a static array
-
pychan
A collection of channels for sending around items of type
pyo3::Py<T>
-
metasploit-shim
metasploit jsonrpc bridge library
-
objc2
Objective-C interface and runtime bindings
-
abilists
Parse
abilists
files from the Zig project -
uniffi_core
a multi-language bindings generator for rust (runtime support code)
-
eclair_bindings
idiomatic Rust wrapper around the low level Eclair Datalog API
-
hier
supports JVM class hierarchy lookup by extending JNI interface
-
interoptopus_backend_csharp
Generates C# bindings
-
spdlog-src
Build spdlog for iOS
-
foreignc_template
Templating language for the foreignc crate
-
byond_fn
macro for generating FFI functions for BYOND
-
gravity
Rust bindings for the Gravity API
-
repr_c_wrapper
Opaque
#[repr(C)]
wrapper that can be passed by value over FFI -
xmachine
A fast, cross platform virtual machine implemented in Rust without the Standard Library
-
uniffi_bindgen_kotlin_multiplatform
a Kotlin Multiplatform bindings generator for rust (codegen and cli tooling)
-
deno_bindgen_ir
aims to simplify glue code generation for Deno FFI libraries written in Rust
-
ts2rs
Macros that imports Typescript interfaces into Rust
-
rust_interface_file_generator
ffi Interface file generator. Use with flapigen
-
go-away
Generates go types from rust types
-
wll
A Wolfram LibraryLink interface
-
ligen-c
C binding generator
-
wasmer-wit-bindgen-gen-rust
wit-bindgen-gen-c
-
crossing-schema
Generate schema-based FFI bindings
-
cstr-literal
A const-friendly macro for C string literals
-
ffi-mock
A dead simple way of mocking extern functions, in cases where the external library is not avaible
-
ffi-destruct
Generates destructors for structures that contain raw pointers in the FFI
-
cosmian-wit-bindgen-gen-core
wit-bindgen-gen-core
-
cr
Rust safe bindings for cr.h: A Simple C Hot Reload Header-only Library
-
vpi_user
vpi_user.h
-
valrow
By-value borrows
-
alet
stright-forward random generator (wrapper to rand crate) - Inpired by the Python's random module
-
cardinal-codegen
A code generator written in Rust
-
ts-rs
generate typescript bindings from rust types
-
poggers
memory lib
-
csbinding_generator
cli tool to generate c# bindings from a rust codebase
-
tsync
Generate typescript types from rust code
-
java-bindgen-core
Java Bindgen | Core
-
ptr-origin-tracker
A helper lib for validating memory pointers being passed around to FFI
-
swift-bridge
Generate FFI bindings for safe interop between Rust and Swift
-
helix
Embed Rust in your Ruby
-
cxxbridge-cmd
C++ code generator for integrating
cxx
crate into a non-Cargo build -
cstr-enum
defining C-style string enums
-
string-offsets
Converts string offsets between UTF-8 bytes, UTF-16 code units, Unicode code points, and lines
-
ffiber
Enable FFI for calling Rust from C by translating Rust-y library interfaces to extern C functions
-
cpython
Bindings to Python
-
pzip-bwt
Wrapper around the bwt function of libdivsufsort
-
tcc
Rust wrapper around the Tiny C Compiler
-
qoqo
Quantum computing circuit toolkit. Python interface of roqoqo
-
sourcegear-bridge-build
Build script support for SourceGear Bridge, a binding generator for .NET
-
windows-helpers
Helpers for the windows crate
-
elm_rs
Generate Elm bindings for your Rust types
-
libryzenadj-alt
Safe bindings to libryzenadj, updated to v0.14
-
pakr-assert-size
Compile-time checks of the size of structures
-
puff-rs
Puff - Deep Stack Python Runtime and GraphQL library
-
unwind_aborts
Prevent your panics from unwinding past FFI boundaries with this one simple trick!
-
dart-sys-fork
Statically generated, Opt-in style bindings to the Dart SDK
-
wolfram-library-link-sys
Low-level FFI bindings to the Wolfram LibraryLink C API
-
interoptopus_reference_project
A reference project for Interoptopus backends to test interop generation
-
inline-c
Write and execute C code inside Rust
-
cmacro
parsing C macros and generating Rust code
-
lttng-ust
Semi-automatically generate lttng-ust tracepoints (client code)
-
bridge
from Rust to other languages
-
libfossil-rs-ffi
Bindgen-generated FFI bindings to libfossil
-
terminated
Types for representing NUL-terminated UTF8 strings
-
objrs
Objective-Rust: the unholy union of Rust and Objective-C
-
rtlola_kotlin_bridge
bridge to use the RTLola-Interpreter in Kotlin
-
variyak
macro to help call variadic functions given a container such as a Vec
-
robusta-codegen
Procedural macro crate to support
robusta
-
libpt-net
Personal multitool
-
camo
Foreign language interface generation
-
reproto-backend-python
Rethinking Protocol Generators
-
drop-root
Set a user id and group (using the names) id to drop root privileges
-
cpp_demangle
demangling C++ symbols
-
pyo3-asyncio-0-21
PyO3 utilities for Python's Asyncio library - 0.21 fork
-
tf-bindgen
Automatically generates Rust bindings for Terraform providers
-
ensure-uniform-type
Ensures a type only uses uniform fields
-
capsule
A framework for network function development. Written in Rust, inspired by NetBricks and built on Intel's Data Plane Development Kit.
-
fvm-abi
describe the contract struct
-
idl
used for the idl language
-
k_board
A keyboard event handler that allows dynamic development
-
rifgen_attributes_utils
ffi Interface file generator. Use with flapigen
-
rust_swig
connecting libraries written in Rust with other languages
-
gpg-error
Libgpg-error bindings for Rust
-
cmod-core
Build a cross-language module with Rust FFI
-
attestation-doc-validation
attesting enclaves according to the Evervault Attestation scheme. This crate is used to generate ffi bindings.
-
razor-libzfs
Low-level libzfs interface
-
witx-bindgen
turn witx files into Rust source code bindings
-
pen-ffi
FFI library for Pen programming language
-
cluConstConcat
Safe constant combination of constant data
-
bitnet-cpp
bitnet.cpp bindings for Rust
-
jnino
Java Native Interface to rust Native Objects
-
jni-bindgen
Code generator for binding to JVM APIs from Rust
-
autocxx-gen
Safe autogenerated interop between Rust and C++
-
ldtk-codegen
Generate typed rust code from LDtk Project
-
ts-rs-json-value
generate typescript bindings from rust types
-
stringmap
An immutable string map with pointers into frozen memory that can be shared between C, Ruby, Python and Rust
-
craydate-sys
Rust bindings for the Playdate hand held gaming system's C API, generated with bindgen
-
pyo3_macros_more
More declarative macros for PyO3
-
genpet
Generate petgraph graphs with geng
-
pyo3_bindgen_engine
Engine for automatic generation of Rust bindings to Python modules
-
rpgtools
Collection of utilities to help run tabletop role-playing games
-
bfcore
An interpreter for BrainF*ck without std or alloc
-
stabby-macros
the macros that make working with stabby possible, you shouldn’t add this crate to your dependencies, only
stabby
-
mach_o_sys
Bindings to the OSX mach-o system library
-
rust_qt_binding_generator
Generate code to build Qt applications with Rust
-
fat_type
A type which permits thin references to arrays and dynamic types
-
llama_cpp_rs
Rust bindings for LLAMA.CPP inference
-
expand_array
Macro to convert a static array to a fixed-size array
-
libryzenadj-sys-alt
Low-level unsafe autogenerated bindings for the to libryzenadj. updated to v0.14
-
foreignc
Auto generate ffi abis directly from rust code
-
championship
Generate championship fixtures using the round-robin tournament algorithm
-
serde-bindgen-core
Generate "C" bindings for serde
-
pyo3-anyio
PyO3 utility bindings for Anyio's event loop
-
rust2go-common
Rust2go common library
-
directcpp-macro
Direct call cpp from Rust (proc-macro)
-
thin_trait_object
One pointer wide trait objects which are also FFI safe, allowing traits to be passed to/from and implemented by C ABI code
-
unlambda
parser and interpreter a crate
-
log4j
log to Java's log4j from Rust
-
crossing-java
Generate schema-based FFI bindings for Java
-
wdk-macros
A collection of macros that help make it easier to interact with wdk-sys's direct bindings. This should not be directly consumed, and should be instead consumed via the wdk-sys crate.
-
kusabira
Integrated frontend for C library build and Rust FFI binding generation
-
ts-bindgen
Generate a wasm-bindgen interface from typescript definitions
-
wasmer-wit-bindgen-gen-core
wit-bindgen-gen-c
-
seestr
pointer-wide nul-terminated strings with ownership semantics
-
pyo3-derive-backend
Code generation for PyO3 package
-
extern-c
Convert a zero-sized closure into an
extern "C" fn(…)
pointer -
autocxx-integration-tests
Safe autogenerated interop between Rust and C++
-
wasm-wrapper-gen
JavaScript wrapper generation for rust code targeting wasm32-unknown-unknown
-
flutter_logger
logging library for using rust together with flutter/dart and flutter_rust_bridge
-
lingua_luau
Send complex data between Rust and Roblox Luau via Wasynth using JSON
-
nvim-utils
writing neovim plugins in rust
-
flu
Lua 5.1 framework for Rust
-
libpt-math
Personal multitool
-
clucstr
Safe and efficient creation of "CStr" with zero-byte checking and support for concatenating multiple values
-
linkstore
embedding, manipulating and retrieving data embedded in binaries using linker sections
-
pyo3-loom
effortlessly creating Python bindings, including involving NumPy, to Rust source code with PyO3
-
objc2-encode
Objective-C type-encoding representation and parsing
-
lazylink
Convert extern fn to libdl call procedural macro
-
async-ffi
FFI-compatible
Future
s -
nt-string
Idiomatic Rust implementations for various Windows string types