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