19 repositorios
Native integration layers for the Python ecosystem and scientific computing stack.
Explore 19 awesome GitHub repositories matching programming languages & runtimes · Python Bindings. Refine with filters or upvote what's useful.
PyTorch is a machine learning framework centered on a GPU-ready tensor library that supports multi-dimensional array operations across both CPU and accelerator hardware. It provides a foundational infrastructure for mathematical computation and dynamic neural network construction, utilizing a tape-based automatic differentiation system that allows for flexible, non-static graph execution. The framework is designed for deep integration with Python, enabling natural usage alongside standard scientific computing ecosystems. It distinguishes itself through a comprehensive distributed training sui
Integrates deeply with the Python ecosystem to allow seamless interoperability with standard scientific computing libraries.
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
Bridges Python and JavaScript runtimes to facilitate seamless data exchange and function invocation.
This project is a cross-platform machine learning inference engine designed to execute pre-trained models across diverse operating systems and hardware environments. It functions as a standardized execution framework that manages the entire lifecycle of model inference, from loading and graph optimization to hardware-accelerated execution and generative sequence management. The runtime distinguishes itself through a highly modular architecture that decouples model logic from hardware-specific kernels. By utilizing an execution provider abstraction, it enables developers to offload computation
Provides native integration layers for Python environments to facilitate model execution.
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
Provides a comprehensive framework for binding Rust and Python, enabling native extension development and interpreter embedding.
dlib is a C++ machine learning toolkit and data analysis framework. It provides a collection of algorithms and utilities for building predictive modeling applications and performing statistical analysis on large datasets within native C++ environments. The project functions as a binding library that wraps low-level C++ machine learning algorithms into high-level Python scripting interfaces. This allows for the integration of high-performance native implementations with Python for machine learning development. The framework covers the implementation of predictive models, the execution of mach
Provides native integration layers that bridge high-performance C++ machine learning algorithms to the Python ecosystem.
Open3D is a software toolkit designed for the processing, alignment, and reconstruction of three-dimensional data. It functions as a computer vision geometry engine that enables the manipulation of point clouds, meshes, and volumetric grids derived from sensor inputs. The library distinguishes itself through a high-performance computational core that executes geometric processing tasks in native code, paired with a binding layer that exposes these capabilities to high-level languages for rapid prototyping. It provides specialized algorithms for spatial registration, allowing users to merge mu
Exposes native C++ capabilities to Python for rapid prototyping and data analysis.
TurboVec is a high-performance Rust vector database and quantized search index designed for storing and retrieving high-dimensional embeddings. It functions as a pluggable vector store for large language model orchestration frameworks, providing a memory-efficient alternative to standard in-memory storage. The project distinguishes itself through a high-dimensional vector compressor that utilizes random rotation and data-oblivious scalar quantization to reduce memory footprints. Retrieval is accelerated via SIMD kernels that process distance calculations and search operations for increased th
Exposes the high-performance Rust core to Python via a foreign function interface for framework integration.
This project is a high-performance library for converting raw text into tokens and IDs for machine learning models. It functions as a fast text encoder and a text preprocessing pipeline designed to transform strings into numerical representations with high throughput for research and production. The library includes a subword tokenizer trainer used to analyze text datasets and create custom vocabularies using algorithms such as byte-pair encoding and wordpiece. It provides capabilities for subword vocabulary training and text alignment, allowing character offsets to be tracked during normaliz
Exposes a high-performance Rust implementation to Python via low-overhead foreign function interface bindings.
This project is a performance measurement framework and microbenchmarking library designed for C++ and Python. It provides a toolset for measuring the execution time of small code fragments using high-resolution timers, calculating statistical aggregates, and analyzing asymptotic complexity. The framework distinguishes itself through specialized capabilities for multithreaded performance testing, using synchronized execution to measure parallel throughput. It includes mechanisms to prevent compiler optimizations from removing benchmarked code and supports complex parameterization via Cartesia
Provides native Python bindings to the C++ core for high-performance timing in scripted environments.
Grex is a regular expression generator and Rust pattern library that synthesizes a single regular expression from a set of provided text test cases. It functions as a command-line tool and a library, utilizing a Rust-based engine to analyze commonalities across input strings to create matching patterns. The project distinguishes itself through Unicode-aware grapheme processing, ensuring consistent matching across diverse character sets and non-ASCII text. It also provides Python bindings to make its core Rust logic available within Python environments. The system covers pattern generalizatio
Provides native Python bindings to expose the high-performance Rust pattern engine to Python environments.
Swift for TensorFlow is a custom toolchain that extends the Swift language with first-class automatic differentiation and differentiable types, enabling gradient-based computation directly within the compiler. It integrates the Swift compiler with TensorFlow runtime and XLA backends, allowing tensor operations to be compiled and executed on hardware-accelerated hardware for high-performance machine learning. The project distinguishes itself through compiler-integrated automatic differentiation that computes gradients of user-defined functions and types during compilation, eliminating the need
Provides native Swift syntax to import and call Python libraries directly, bridging both ecosystems.
PyOxidizer es un empaquetador de aplicaciones Python e incrustador de intérpretes diseñado para compilar código Python y dependencias en un único binario ejecutable independiente. Funciona como una herramienta de distribución que permite que las aplicaciones se ejecuten en máquinas de destino sin un intérprete preinstalado. El proyecto sirve como un puente entre Rust y Python, proporcionando un framework para integrar ambos lenguajes para crear librerías enlazables o reemplazar lógica incrementalmente. Facilita la incrustación de un runtime de Python en aplicaciones más grandes para ejecutar scripts o proporcionar lógica basada en Python. El conjunto de herramientas cubre el empaquetado de aplicaciones Python, flujos de trabajo de distribución y la integración de runtimes de Python incrustados.
Combines Rust and Python to create linkable libraries or replace logic gradually.
PythonNet es un puente de integración de runtime que permite que el código Python llame a ensamblados y funciones de .NET dentro del Common Language Runtime. Sirve como un conjunto de bindings para acceder al framework .NET y sus bibliotecas desde un entorno Python, facilitando la interoperabilidad de runtime entre lenguajes. El proyecto proporciona un mecanismo para embeber un motor de scripting de Python directamente dentro de aplicaciones .NET. Esto permite la creación de una capa de scripting de aplicación donde el código Python se ejecuta dinámicamente para proporcionar personalización y automatización al entorno anfitrión. El puente admite la integración de ensamblados y espacios de nombres (namespaces) de .NET en scripts de Python y proporciona acceso a servicios de runtime a través de .NET Framework, .NET Core y Mono. Gestiona la comunicación entre el intérprete de Python y el runtime de .NET para compartir servicios y componentes.
Provides a set of bindings for accessing the .NET Common Language Runtime and its libraries from a Python environment.
Este proyecto es una extensión de la librería estándar de Swift y una librería de sistema multiplataforma. Proporciona una colección de tipos de utilidad principales y estructuras de datos fundamentales que extienden el lenguaje Swift base, actuando como una capa de interfaz independiente del SO para manejar operaciones del sistema como redes y sistemas de archivos. El proyecto cuenta con una capa de interoperabilidad C++ especializada que mapea tipos y funciones de C++ a interfaces compatibles con Swift para la comunicación entre lenguajes. Esto incluye un mecanismo de puente para manejar tipos de la librería estándar y contenedores externos, permitiendo que los tipos de C++ se mapeen como tipos de referencia o de valor para sincronizar la gestión de memoria y la semántica. Las capacidades generales incluyen la serialización de datos para codificar y decodificar formatos estructurados como JSON, y un framework de internacionalización para gestionar formatos conscientes de la configuración regional, calendarios y ajustes regionales. Además, proporciona gestión de datos central para manejar URLs y datos binarios crudos.
Modifies external frameworks to create consistent mappings and interoperability between different language runtimes.
Maturin is a build tool that compiles Rust crates into Python wheel packages, supporting multiple binding systems such as PyO3, CFFI, and UniFFI to create native extension modules. It manages the full build pipeline from Rust compilation to wheel assembly, including cross-compilation for different operating systems and architectures without requiring native hardware. The tool integrates development-mode installation with automatic rebuilds: when a Python import hook detects source changes, it triggers recompilation before the module loads. Editable installs link the compiled module into site-
Generates native Python extension modules from Rust code using PyO3, CFFI, and UniFFI binding systems.
uniffi-rs is a Rust FFI binding generator and multi-language binding tool. It functions as an automated binding scaffolder that creates type-safe foreign function interfaces and native wrappers for Rust libraries in languages such as Swift, Kotlin, and Python. The project provides a system for cross-language interface definition, allowing functions and data structures to be specified in a shared format to ensure consistent API signatures across platforms. It further serves as an FFI memory management layer, handling object lifetimes and thread safety when sharing state between Rust and foreig
Creates type-safe Python bindings from Rust interface definitions for cross-platform scripting.
Chafa is a terminal graphics library that converts images and animated GIFs into character art for display in terminal emulators. It supports multiple output formats including ANSI escape sequences, Sixel graphics, and Unicode block characters, making it a versatile tool for rendering images directly within the terminal environment. The library is built as a shared C library with official bindings for Python and JavaScript, allowing developers to integrate terminal image rendering capabilities into applications across different programming environments. Chafa handles the full pipeline from im
Offers Python bindings for converting images into terminal art within Python applications.
cuda-python provides low-level Python bindings for the CUDA Driver and Runtime APIs. It serves as a programmatic wrapper for controlling device memory, managing hardware toolchains, and orchestrating execution graphs on NVIDIA GPUs, allowing for the compilation and launching of parallel kernels directly from Python. The project enables the development of SIMT kernels and the execution of mathematical algorithms on device memory. It integrates pre-compiled bytecode as custom operators and interfaces with accelerated device libraries to access low-level hardware functions without leaving the la
Offers a set of low-level Python bindings for the CUDA Driver and Runtime APIs.
Leela Chess Zero is a deep learning game AI and neural network chess engine that uses search algorithms to determine optimal moves and evaluate game states. It functions as a UCI chess engine, implementing the Universal Chess Interface standard for compatibility with various graphical user interfaces. The system acts as a hardware-accelerated move calculator, leveraging GPU and CPU backends to accelerate neural network inference. It supports the generation and submission of self-play games to training clients to improve the strength of its neural network models. The engine provides capabilit
Provides native integration layers allowing Python scripts to invoke neural network evaluation for chess game states.