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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
PyO3 avatar

PyO3/pyo3

0
View on GitHub↗
15,344 stars·941 forks·Rust·apache-2.0·17 vuespyo3.rs↗

Pyo3

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 markers to manage the global interpreter lock and reference-counted containers to handle object lifetimes, ensuring thread safety and memory integrity during cross-language execution. An integrated exception translation layer further ensures that errors are mapped consistently between environments.

The toolset covers a broad range of development needs, including the compilation of native binary extensions, the generation of type stubs for static analysis, and the configuration of build environments to support multiple interpreter versions. It also provides capabilities for bridging logging frameworks and automating the recompilation of modules during development.

The project is distributed as a library that integrates with standard build tools to produce installable binary files.

Features

  • Foreign Function Interfaces - Provides a system for mapping data types, managing lifetimes, and translating exceptions between language environments.
  • Python Bindings - Provides a comprehensive framework for binding Rust and Python, enabling native extension development and interpreter embedding.
  • Extension Compilers - Compiles high-level source code into native binary extension modules for seamless integration with the Python interpreter.
  • Python Scripting Environments - Integrates the interpreter directly into host applications to enable dynamic script execution.
  • CommonJS Interop - Acts as a bridge for calling functions, defining classes, and sharing data structures across runtimes.
  • Scripting Runtimes - Integrates a language interpreter directly into host applications to enable standalone script execution.
  • Python Development Tools - Builds high-performance native modules to accelerate computationally intensive tasks.
  • Module Development - Exposes performance-critical native logic as importable modules for use in standard scripts.
  • Language Interoperability - Maps complex data structures and types between languages to ensure safe and efficient communication.
  • Scripting Hosts - Executes scripts and manages objects directly within the host application to integrate external logic.
  • Native Build Orchestrators - Compiles source code into native modules and packages them as installable binary files.
  • Native System Extensions - Creates native extension modules from compiled code to allow seamless integration with external scripts.
  • Global Interpreter Locks - Manages thread safety and runtime state access across language boundaries using type-level markers.
  • Procedural Macros - Uses compiler-level annotations to automatically generate boilerplate code for native language bindings.
  • Native Class Wrappers - Exposes internal data structures as native classes for instantiation and method invocation from scripts.
  • Native Code Exporters - Maps native functions and data structures to compatible interfaces for execution as native modules.
  • Foreign Function Invocations - Executes foreign functions and accesses objects by managing cross-language memory references.
  • Lifetime Tracking Tokens - Uses type-level tokens to track the global interpreter lock and ensure safe object access.
  • Foreign Function Interface - Rust bindings for the Python interpreter.
  • Type Mapping Converters - Automatically maps complex data structures and primitive values between language runtimes.
  • Native Binary Toolchains - Compiles source code into shared library objects compatible with the host language runtime.
  • Script Execution Engines - Executes arbitrary scripts and functions from within a host application to leverage external logic.
  • Cross-Language Memory Managers - Uses reference-counted containers to manage object lifetimes and prevent memory leaks during cross-language execution.
  • Native Class Mappings - Maps custom data structures to classes to define methods and properties that interact with the host environment.
  • Cross-Compilation Toolchains - Configures build environments to target multiple operating systems and hardware architectures.
  • Translation Layers - Provides an integrated layer that translates and maps errors between native and foreign language environments.
  • Interpreter Internals - Initializes and manages the lifecycle of a language runtime within a host application.
  • Module Loaders - Loads external modules into the host environment to access their functionality directly.
  • Exception Hierarchies - Translates and propagates errors between language environments using unified exception hierarchies.
  • Exception Mappers - Translates native exceptions into corresponding types to maintain consistent error handling across environments.
  • Type Definition Generators - Generates type stubs from native code to enable static analysis and IDE autocompletion in external projects.
  • Module Preinitializers - Registers custom modules in an internal table to make them available for import within the runtime.
  • Type Definition Generators - Generates interface definition files from compiled modules to support static analysis and autocompletion.

Historique des stars

Graphique de l'historique des stars pour pyo3/pyo3Graphique de l'historique des stars pour pyo3/pyo3

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Pyo3

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Pyo3.
  • rustpython/rustpythonAvatar de RustPython

    RustPython/RustPython

    21,807Voir sur 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

    Rustcompilerhacktoberfestinterpreter
    Voir sur GitHub↗21,807
  • neon-bindings/neonAvatar de neon-bindings

    neon-bindings/neon

    8,410Voir sur 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

    Rust
    Voir sur GitHub↗8,410
  • nim-lang/nimAvatar de nim-lang

    nim-lang/Nim

    18,071Voir sur GitHub↗

    Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th

    Nimcompilerefficienthacktoberfest
    Voir sur GitHub↗18,071
  • napi-rs/napi-rsAvatar de napi-rs

    napi-rs/napi-rs

    7,500Voir sur GitHub↗

    napi-rs is a framework and toolkit for building high-performance native extensions for Node.js using Rust. It functions as a bridge between Rust and JavaScript runtimes, enabling the conversion of data types and the execution of native functions within a JavaScript environment. The project provides a native binary compiler and a cross-platform module orchestrator to automate the compilation and publishing of packages across multiple operating systems and architectures. It generates corresponding JavaScript type definitions and platform-specific binaries to ensure consistent installation. The

    Rustjavascriptnapinapi-rs
    Voir sur GitHub↗7,500
Voir les 30 alternatives à Pyo3→

Questions fréquentes

Que fait pyo3/pyo3 ?

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.

Quelles sont les fonctionnalités principales de pyo3/pyo3 ?

Les fonctionnalités principales de pyo3/pyo3 sont : Foreign Function Interfaces, Python Bindings, Extension Compilers, Python Scripting Environments, CommonJS Interop, Scripting Runtimes, Python Development Tools, Module Development.

Quelles sont les alternatives open-source à pyo3/pyo3 ?

Les alternatives open-source à pyo3/pyo3 incluent : rustpython/rustpython — RustPython is a Python 3 compatible interpreter implemented in Rust. It functions as a scripting engine that can be… neon-bindings/neon — Neon is a framework for writing high-performance native Node.js modules using the Rust programming language. It serves… nim-lang/nim — Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform… napi-rs/napi-rs — napi-rs is a framework and toolkit for building high-performance native extensions for Node.js using Rust. It… wasmerio/wasmer — Wasmer is a high-performance runtime engine designed to execute sandboxed WebAssembly modules across server-side,… rust-lang/book — The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It…