awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectServer MCPDespreCum realizăm clasamentulPresă
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

31 repository-uri

Awesome GitHub RepositoriesForeign Function Interface

Libraries and generators for bridging Rust with other languages.

Explore 31 awesome GitHub repositories matching part of an awesome list · Foreign Function Interface. Refine with filters or upvote what's useful.

Awesome Foreign Function Interface GitHub Repositories

Găsește cele mai bune repo-uri cu AI.Vom căuta cele mai potrivite repository-uri folosind AI.
  • rustpython/rustpythonAvatar RustPython

    RustPython/RustPython

    21,807Vezi pe GitHub↗

    RustPython is a Python 3 compatible interpreter implemented in Rust. It functions as a scripting engine that can be embedded directly into host applications, allowing for the execution of dynamic scripts and the customization of software behavior within a memory-safe environment. The project distinguishes itself through its ability to bridge Python and JavaScript runtimes, enabling data exchange and function invocation across language boundaries. It also provides a portable execution environment by compiling Python code into WebAssembly, which allows for the execution of logic directly within

    Python interpreter implemented in Rust.

    Rustcompilerhacktoberfestinterpreter
    Vezi pe GitHub↗21,807
  • pyo3/pyo3Avatar PyO3

    PyO3/pyo3

    15,344Vezi pe GitHub↗

    This project provides a framework for binding Rust and Python, enabling the creation of native extension modules and the embedding of the Python interpreter within host applications. It functions as a cross-language interoperability library that facilitates the execution of scripts, the definition of classes, and the sharing of data structures across the boundary of the two runtimes. The framework distinguishes itself through the use of procedural macros to automate the generation of boilerplate code, simplifying the process of exposing native functions and data types. It employs type-level m

    Rust bindings for the Python interpreter.

    Rustbindingffipython
    Vezi pe GitHub↗15,344
  • wasm-bindgen/wasm-bindgenAvatar wasm-bindgen

    wasm-bindgen/wasm-bindgen

    9,042Vezi pe GitHub↗

    wasm-bindgen is a glue code generator and interoperability tool that facilitates high-level communication and data exchange between compiled Rust modules and JavaScript environments. It functions as a memory bridge and type definition generator, allowing the exchange of complex data types and the calling of functions across execution boundaries. The project distinguishes itself by automating the conversion of data types and function signatures using attribute-based bindings. It generates the necessary JavaScript and WebAssembly wrappers to manage linear memory mapping and creates automatic Ty

    Facilitates interaction between Wasm and JavaScript.

    Rust
    Vezi pe GitHub↗9,042
  • neon-bindings/neonAvatar neon-bindings

    neon-bindings/neon

    8,410Vezi pe GitHub↗

    Neon is a framework for writing high-performance native Node.js modules using the Rust programming language. It serves as a foreign function interface bridge and a toolchain for bootstrapping, compiling, and managing Rust-based extensions. The project provides a cross-language memory manager that handles buffers and object borrowing to ensure safe memory access between Rust and JavaScript. It enables the mapping of data types and function calls across the language boundary, allowing Rust functions to be exported to the script environment and JavaScript functions to be called from Rust. The f

    Bindings for writing native Node.js modules in Rust.

    Rust
    Vezi pe GitHub↗8,410
  • wasm-bindgen/wasm-packAvatar wasm-bindgen

    wasm-bindgen/wasm-pack

    7,207Vezi pe GitHub↗

    wasm-pack is a build tool and workflow orchestrator for compiling Rust code to WebAssembly. It coordinates the compilation process and generates the JavaScript glue code required to execute Rust logic within web browsers and server-side runtimes. The tool manages binary optimization to reduce file sizes and improve execution speed. It also functions as a package manager, bundling compiled WebAssembly modules into archives compatible with JavaScript registries and bundlers. The project covers language interoperability through the automatic generation of TypeScript type definitions. It further

    Builds and publishes Wasm packages to npm.

    Rust
    Vezi pe GitHub↗7,207
  • dtolnay/cxxAvatar dtolnay

    dtolnay/cxx

    6,664Vezi pe GitHub↗

    CXX is a code generator that produces a safe, zero-overhead FFI bridge between Rust and C++. It lets functions and data types from either language be used directly in the other, with static type safety enforced at compile time and no copying, serialization, or runtime checks across the boundary. The bridge supports the full range of cross-language interactions: Rust can call C++ functions and use C++ types, and C++ can call Rust functions and use Rust types. Standard library types like strings, vectors, and smart pointers are mapped automatically between the two languages, while opaque types

    Safe interop between Rust and C++.

    Rust
    Vezi pe GitHub↗6,664
  • rust-lang/rust-bindgenAvatar rust-lang

    rust-lang/rust-bindgen

    5,212Vezi pe GitHub↗

    Rust-bindgen este un generator de binding-uri pentru interfața de funcții străine (FFI) la momentul build-ului și un parser de headere C conceput pentru a automatiza interoperabilitatea între limbaje. Funcționează ca un instrument pentru a face legătura între Rust și bibliotecile C, C++ și Objective-C prin producerea de declarații specifice platformei în timpul procesului de compilare. Proiectul se distinge prin capacitatea sa de a gestiona constructe complexe ale limbajelor din familia C, incluzând moștenirea și metodele C++, precum și clasele și protocoalele Objective-C. Asigură compatibilitatea binară pe diferite arhitecturi prin calcularea layout-urilor de memorie conștiente de țintă și validarea faptului că dimensiunile și aliniamentele structurilor generate se potrivesc cu definițiile sursă originale. Instrumentul oferă mapare extinsă a tipurilor pentru uniuni C, bitfields și membri de tip array flexibili, mapând în același timp tipurile complexe sau netraductibile din biblioteca standard către blob-uri de octeți opace. Include un sistem de configurare pentru filtrarea binding-urilor, substituirea tipurilor complexe și controlul derivării trăsăturilor sau vizibilitatea câmpurilor. Binding-urile generate pot include documentație extrasă din headerele sistemului și sunt procesate printr-un formator standard pentru a asigura un stil de cod consistent.

    Generates Rust bindings for C/C++ libraries.

    Rustbindingscodegenffi
    Vezi pe GitHub↗5,212
  • rusterlium/rustlerAvatar rusterlium

    rusterlium/rustler

    4,806Vezi pe GitHub↗

    Rustler este un wrapper de funcții native și o interfață de funcții străine (FFI) care permite dezvoltarea de extensii de înaltă performanță pentru mașina virtuală BEAM. Servește ca o punte pentru scrierea funcțiilor native în Rust care pot fi apelate din medii Erlang. Proiectul se concentrează pe menținerea siguranței memoriei pentru a preveni blocajele sistemului și coruperea memoriei atunci când se execută cod compilat. Realizează acest lucru prin încapsularea apelurilor native în abstracții sigure și aplicarea regulilor de ownership și borrowing din Rust pentru gestionarea memoriei externe și a obiectelor de date structurate. Biblioteca oferă mecanisme pentru conversia datelor între tipurile de limbaj și gestionarea obiectelor de resurse. Aceste capabilități permit transmiterea referințelor către date structurate în cod extern cu eliberarea automată a memoriei prin garbage collector-ul runtime-ului.

    Bridge for creating Erlang NIF functions in Rust.

    Rustbindingelixirerlang
    Vezi pe GitHub↗4,806
  • mozilla/cbindgenAvatar mozilla

    mozilla/cbindgen

    2,906Vezi pe GitHub↗

    A project for generating C bindings from Rust code

    Generates C header files from Rust source code.

    Rust
    Vezi pe GitHub↗2,906
  • mlua-rs/mluaAvatar mlua-rs

    mlua-rs/mlua

    2,757Vezi pe GitHub↗

    High level Lua 5.5/5.4/5.3/5.2/5.1 (including LuaJIT) and Luau bindings to Rust with async/await support

    High-level Lua bindings for Rust with async support.

    Rust
    Vezi pe GitHub↗2,757
  • mthom/scryer-prologAvatar mthom

    mthom/scryer-prolog

    2,374Vezi pe GitHub↗

    ISO Prolog system implemented in Rust.

    Rustiso-prolog-standardprologprolog-implementation
    Vezi pe GitHub↗2,374
  • dgrunwald/rust-cpythonAvatar dgrunwald

    dgrunwald/rust-cpython

    1,837Vezi pe GitHub↗

    Rust <-> Python bindings

    Python bindings for Rust.

    Rust
    Vezi pe GitHub↗1,837
  • danielpclark/rutieAvatar danielpclark

    danielpclark/rutie

    998Vezi pe GitHub↗

    “The Tie Between Ruby and Rust.”

    Native Ruby extensions in Rust and vice versa.

    Rust
    Vezi pe GitHub↗998
  • cysharp/csbindgenAvatar Cysharp

    Cysharp/csbindgen

    922Vezi pe GitHub↗

    Generate C# FFI from Rust for automatically brings native code and C native library to .NET and Unity.

    Generates C# bindings for Rust.

    Rust
    Vezi pe GitHub↗922
  • d-unsed/ruruAvatar d-unsed

    d-unsed/ruru

    835Vezi pe GitHub↗

    Native Ruby extensions written in Rust

    Native Ruby extensions in Rust.

    Rust
    Vezi pe GitHub↗835
  • getsentry/milksnakeAvatar getsentry

    getsentry/milksnake

    803Vezi pe GitHub↗

    A setuptools/wheel/cffi extension to embed a binary data in wheels

    Distributes dynamic libraries in Python wheels.

    Python
    Vezi pe GitHub↗803
  • infinyon/node-bindgenAvatar infinyon

    infinyon/node-bindgen

    588Vezi pe GitHub↗

    Easy way to write Node.js module using Rust

    Generates Node.js modules using Rust.

    Rust
    Vezi pe GitHub↗588
  • tomaka/hluaAvatar tomaka

    tomaka/hlua

    522Vezi pe GitHub↗

    Rust library to interface with Lua

    Interface library for Lua and Rust.

    C
    Vezi pe GitHub↗522
  • rhysd/wainAvatar rhysd

    rhysd/wain

    461Vezi pe GitHub↗

    WebAssembly implementation from scratch in Safe Rust with zero dependencies

    WebAssembly interpreter written in safe Rust.

    Rust
    Vezi pe GitHub↗461
  • ssheldon/rust-objcAvatar SSheldon

    SSheldon/rust-objc

    413Vezi pe GitHub↗

    Objective-C Runtime bindings and wrapper for Rust.

    Objective-C runtime bindings for Rust.

    Rust
    Vezi pe GitHub↗413
Înapoi12Înainte
  1. Home
  2. Part of an Awesome List
  3. Developer Tools
  4. Foreign Function Interface