19 dépôts
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 est un empaqueteur d'applications Python et un embedder d'interpréteur conçu pour compiler le code Python et ses dépendances en un seul binaire exécutable autonome. Il fonctionne comme un outil de distribution qui permet aux applications de s'exécuter sur des machines cibles sans interpréteur pré-installé. Le projet sert de pont entre Rust et Python, fournissant un framework pour intégrer les deux langages afin de créer des bibliothèques liables ou de remplacer progressivement la logique. Il facilite l'intégration d'un runtime Python dans des applications plus grandes pour exécuter des scripts ou fournir une logique basée sur Python. L'ensemble d'outils couvre l'empaquetage d'applications Python, les workflows de distribution et l'intégration de runtimes Python embarqués.
Combines Rust and Python to create linkable libraries or replace logic gradually.
PythonNet est un pont d'intégration de runtime qui permet au code Python d'appeler des assemblies .NET et des fonctions au sein du Common Language Runtime. Il sert d'ensemble de bindings pour accéder au framework .NET et à ses bibliothèques depuis un environnement Python, facilitant l'interopérabilité des runtimes entre les langages. Le projet fournit un mécanisme pour intégrer un moteur de script Python directement au sein des applications .NET. Cela permet la création d'une couche de script d'application où le code Python est exécuté dynamiquement pour fournir personnalisation et automatisation à l'environnement hôte. Le pont prend en charge l'intégration d'assemblies et d'espaces de noms .NET dans des scripts Python et fournit un accès aux services de runtime à travers .NET Framework, .NET Core et Mono. Il gère la communication entre l'interpréteur Python et le runtime .NET pour partager des services et des composants.
Provides a set of bindings for accessing the .NET Common Language Runtime and its libraries from a Python environment.
Ce projet est une extension de la bibliothèque standard Swift et une bibliothèque système multiplateforme. Il fournit une collection de types utilitaires et de structures de données fondamentales qui étendent le langage Swift de base, agissant comme une couche d'interface indépendante de l'OS pour gérer les opérations système telles que la mise en réseau et les systèmes de fichiers. Le projet propose une couche d'interopérabilité C++ spécialisée qui mappe les types et fonctions C++ vers des interfaces Swift compatibles pour une communication inter-langages. Cela inclut un mécanisme de pontage pour gérer les types de la bibliothèque standard et les conteneurs étrangers, permettant aux types C++ d'être mappés en tant que types de référence ou de valeur pour synchroniser la gestion mémoire et la sémantique. Les capacités étendues incluent la sérialisation de données pour l'encodage et le décodage de formats structurés comme JSON, ainsi qu'un framework d'internationalisation pour gérer le formatage localisé, les calendriers et les paramètres régionaux. Il fournit également une gestion des données de base pour manipuler les URL et les données binaires brutes.
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.