19 Repos
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 ist ein Python-Anwendungspacker und Interpreter-Embedder, der dazu entwickelt wurde, Python-Code und Abhängigkeiten in eine einzelne, eigenständige ausführbare Binärdatei zu kompilieren. Er fungiert als Distributionstool, das es Anwendungen ermöglicht, auf Zielmaschinen ohne vorinstallierten Interpreter zu laufen. Das Projekt dient als Brücke zwischen Rust und Python und bietet ein Framework zur Integration beider Sprachen, um linkbare Bibliotheken zu erstellen oder Logik schrittweise zu ersetzen. Es erleichtert das Einbetten einer Python-Runtime in größere Anwendungen, um Skripte auszuführen oder Python-basierte Logik bereitzustellen. Das Toolset deckt das Packaging von Python-Anwendungen, Distributions-Workflows und die Integration eingebetteter Python-Runtimes ab.
Combines Rust and Python to create linkable libraries or replace logic gradually.
PythonNet ist eine Laufzeit-Integrationsbrücke, die es Python-Code ermöglicht, .NET-Assemblies und -Funktionen innerhalb der Common Language Runtime aufzurufen. Sie dient als Bindings-Set für den Zugriff auf das .NET-Framework und dessen Bibliotheken aus einer Python-Umgebung und erleichtert die Interoperabilität zwischen Laufzeitumgebungen. Das Projekt bietet einen Mechanismus zur Einbettung einer Python-Skript-Engine direkt in .NET-Anwendungen. Dies ermöglicht die Erstellung einer Skript-Ebene für Anwendungen, in der Python-Code dynamisch ausgeführt wird, um Anpassungen und Automatisierung für die Host-Umgebung bereitzustellen. Die Brücke unterstützt die Integration von .NET-Assemblies und Namespaces in Python-Skripte und bietet Zugriff auf Laufzeitdienste über .NET Framework, .NET Core und Mono hinweg. Sie verwaltet die Kommunikation zwischen dem Python-Interpreter und der .NET-Laufzeit, um Dienste und Komponenten gemeinsam zu nutzen.
Provides a set of bindings for accessing the .NET Common Language Runtime and its libraries from a Python environment.
Dieses Projekt ist eine Erweiterung der Swift-Standardbibliothek und eine plattformübergreifende Systembibliothek. Es bietet eine Sammlung grundlegender Utility-Typen und Datenstrukturen, die die Swift-Basissprache erweitern und als betriebssystemunabhängige Schnittstellenschicht für Systemoperationen wie Netzwerk- und Dateisystemzugriffe dienen. Das Projekt verfügt über eine spezialisierte C++-Interoperabilitätsschicht, die C++-Typen und -Funktionen auf kompatible Swift-Schnittstellen für die sprachübergreifende Kommunikation abbildet. Dies beinhaltet einen Bridging-Mechanismus für Standardbibliothekstypen und externe Container, wodurch C++-Typen entweder als Referenz- oder Wertetypen gemappt werden können, um Speicherverwaltung und Semantik zu synchronisieren. Zu den umfassenden Funktionen gehören die Datenserialisierung für die Kodierung und Dekodierung strukturierter Formate wie JSON sowie ein Internationalisierungs-Framework für lokalisierungsspezifische Formatierungen, Kalender und regionale Einstellungen. Zudem bietet es ein Core-Datenmanagement für die Handhabung von URLs und binären Rohdaten.
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.