25 dépôts
Wrappers that expose C++ classes and functions to Python for high-performance execution with scripting flexibility.
Distinct from C++ Binding: Specifically targets the Python-C++ bridge using pybind11, rather than Rust or general C interfaces.
Explore 25 awesome GitHub repositories matching programming languages & runtimes · Python-C++ Bindings. Refine with filters or upvote what's useful.
COLMAP is a 3D scene reconstruction suite and C++ geometry library that implements a full structure-from-motion pipeline. It functions as a GPU-accelerated photogrammetry tool and multi-view stereo framework designed to produce dense 3D geometry and watertight meshes from collections of 2D images. The project distinguishes itself through hardware-accelerated feature extraction and a modular camera modeling system that supports perspective, fisheye, and equirectangular lens types. It employs vocabulary tree image retrieval to efficiently identify similar images in large datasets and provides P
Provides Python-C++ bindings that expose high-performance reconstruction functions to Python scripts.
Xgo is a programming language that combines familiar constructs from languages like C/C++, Go, Python, and JavaScript with a natural language-style syntax that reads closer to plain English. It executes programs compatible with the Go language, allowing reuse of existing Go libraries and tooling, and supports mixing Go and XGo source files within a single package for gradual adoption of its simplified syntax. The language distinguishes itself through direct foreign function interface capabilities, enabling calls to C/C++ and Python libraries using specialized string literal syntax without man
Provides direct foreign function interface to C/C++ and Python libraries using specialized string literal syntax.
pysheeet est une bibliothèque de référence technique fournissant une collection organisée d'extraits de code et de modèles d'implémentation pour le développement Python avancé, l'intégration système et le calcul haute performance. Il sert de guide complet pour implémenter la programmation réseau de bas niveau, les extensions C natives, et la programmation asynchrone et concurrente. Le projet fournit des frameworks spécialisés pour le développement et le déploiement de grands modèles de langage, y compris des outils pour l'inférence GPU distribuée et le service haute performance. Il inclut également des modèles détaillés pour l'orchestration de clusters de calcul haute performance, couvrant l'allocation des ressources GPU et la gestion des charges de travail multi-nœuds. La bibliothèque couvre une large surface de capacités, y compris la communication réseau sécurisée et la cryptographie, l'ORM et la gestion de base de données, et l'implémentation de structures de données et d'algorithmes complexes. Elle fournit également des utilitaires pour la gestion de la mémoire, l'interopérabilité native via des interfaces de fonctions étrangères (FFI) et l'intégration au niveau du système d'exploitation.
Ships wrappers that expose C++ classes and functions to Python for high-performance execution.
PyQt is a cross-platform GUI toolkit and desktop UI framework that provides Python bindings for the Qt framework. It serves as a widget library for creating graphical user interfaces that maintain consistent behavior and appearance across Windows, macOS, and Linux. The framework enables the development of desktop applications through a collection of pre-built interface components and layout managers. It supports the creation of specialized interface elements with custom styling, window animations, and the integration of web browser components to load and execute scripts alongside native eleme
Provides Python bindings that map calls to C++ classes and functions for high-performance execution.
This project is a Telegram command line interface and MTProto client. It functions as a userbot framework, providing a terminal-based environment to interact with Telegram accounts without a graphical user interface. The system differentiates itself through extensibility, offering Python bindings and a Lua scripting engine to automate account tasks and respond to messages. It also serves as a JSON-based chat exporter, capable of extracting user metadata and conversation histories into structured files. The client covers core messaging capabilities, including text exchange, group chat managem
Exposes core C++ messaging logic to Python via bindings for automation and scripting.
Microsandbox is a runtime for creating and managing lightweight, hardware-isolated virtual machines — called sandboxes — that boot directly from standard OCI container images. Each sandbox runs as its own host process with a separate kernel, filesystem, and network stack, providing process-per-sandbox isolation. The project includes a command-line tool and multi-language SDKs (Rust, TypeScript, Python, Go) for programmatic lifecycle control, and it communicates with sandbox agents over Unix sockets using a CBOR-encoded protocol. What distinguishes Microsandbox is its combination of host-manag
Wraps agent client types into concrete forms for foreign-language bindings without generics.
SWIG is a tool that generates wrapper code to expose C and C++ libraries to a wide range of higher-level programming languages. It reads annotated C/C++ header files and produces language-specific bindings from a single interface definition, supporting languages such as Python, Java, Ruby, C#, Perl, and many others. The generated wrapper code is free from the project's GPL license, allowing users to distribute it under their own terms. The tool handles modern C++ features including templates, namespaces, smart pointers, and constructs up to C++20 through specialized parsing and code generatio
Generates Python bindings from C/C++ code for interactive prototyping and debugging.
GNU Radio is an open-source software-defined radio framework that provides a digital signal processing toolkit for building wireless communication systems. At its core, it uses a block-based flow graph architecture where pre-built signal processing blocks are connected into directed graphs to define and execute custom radio signal processing pipelines. The system operates as a flow graph signal processor that enables low-latency streaming radio signal processing, supporting both real-time operation and wireless communication simulation entirely in software. The framework distinguishes itself
Exposes high-level graph construction in Python while implementing performance-critical blocks in compiled C++.
This is the official documentation repository for Raspberry Pi hardware and software. It covers the complete range of Raspberry Pi single-board computers, the RP-series microcontrollers, and the Raspberry Pi operating system. The documentation provides reference material for setting up devices, configuring hardware, and using the system for tasks including AI inference, camera and video capture, embedded development, and remote access. The documentation covers the full boot chain from the GPU firmware and EEPROM bootloader through to kernel loading, with detailed guidance on boot configuratio
Abstracts camera control and image capture through a C++ library with Python bindings.
Open Spiel est une bibliothèque de recherche et un framework pour l'apprentissage par renforcement, la planification et la simulation de jeux multi-agents. Il fournit un système pour représenter des jeux à agent unique et multi-agents dans des scénarios à somme nulle, coopératifs et à information imparfaite. Le projet utilise une interface de jeu abstraite standardisée pour découpler la logique de jeu des algorithmes, permettant aux agents de fonctionner sur différents types de jeux. Il implémente la logique critique en termes de performance en C++ avec des bindings Python et utilise une simulation déterministe avec graine pour garantir la reproductibilité pour le benchmarking de recherche. Le framework couvre un large éventail de capacités, incluant les algorithmes de recherche et de planification computationnelle, l'apprentissage par renforcement multi-agent et la recherche en théorie des jeux. Il inclut également des outils pour l'analyse de la dynamique d'apprentissage afin de suivre le comportement des agents et calculer des métriques d'évaluation.
Utilizes C++ wrappers to expose performance-critical game logic to Python for efficient simulation.
Ce projet est un wrapper Python pour la bibliothèque de vision par ordinateur OpenCV, fournissant un pont qui expose des fonctions C++ haute performance au langage de programmation Python. Il sert de collection d'outils pour le traitement d'images en temps réel, la détection d'objets et le machine learning sur des données visuelles. Le projet fournit des distributions binaires précompilées, permettant l'intégration de capacités de vision dans les applications Python sans nécessiter un compilateur C++ local. Il propose des distributions de paquets multi-variantes, incluant des versions headless conçues pour les environnements serveur ou cloud où une interface utilisateur graphique n'est pas requise. La bibliothèque couvre un large éventail de tâches de programmation en vision par ordinateur, incluant le traitement d'images et l'analyse visuelle. Elle prend également en charge la vision accélérée par le matériel et la création de liaisons personnalisées pour activer des modules fonctionnels spécialisés.
Provides high-performance Python-C++ bindings that expose the native OpenCV API to Python developers.
Ce projet est un moteur de similarité vectorielle en C++ et une implémentation de l'algorithme Hierarchical Navigable Small World. Il fournit une bibliothèque header-only pour effectuer des recherches approximatives de plus proches voisins dans des espaces de haute dimension, ainsi que des bindings Python qui exposent ces capacités d'indexation et de recherche aux environnements de science des données. Le moteur permet la récupération d'embeddings en temps réel et la recherche de similarité en haute dimension en utilisant une structure de graphe multicouche pour équilibrer la vitesse de recherche et la précision. Il prend en charge des métriques de distance personnalisées pour calculer la similarité entre les vecteurs dans divers espaces mathématiques. Le système couvre une large gamme d'opérations d'indexation, incluant l'insertion incrémentale de vecteurs et la possibilité de marquer des éléments comme supprimés sans reconstruire l'index. Il prend également en charge la recherche multi-vecteurs, le filtrage des résultats de recherche et la persistance sur disque pour sauvegarder et recharger l'état de l'index.
Provides Python bindings for high-performance C++ vector indexing and search operations.
cuml est une bibliothèque et un framework de machine learning accéléré par GPU qui utilise CUDA pour accélérer le prétraitement des données tabulaires et l'exécution des modèles. Il fournit une suite d'outils pour entraîner et déployer des modèles de classification, de régression et de clustering sur des GPU NVIDIA et des clusters de GPU. La bibliothèque est conçue pour l'évolutivité, offrant un environnement de machine learning GPU distribué qui peut répartir le calcul et les données sur plusieurs accélérateurs matériels et nœuds pour gérer des ensembles de données dépassant la mémoire d'un seul appareil. Elle reflète les interfaces d'estimateur standard pour permettre le remplacement des modèles basés sur CPU par des versions accélérées par GPU au sein des flux de travail existants. Le projet couvre une large gamme de capacités de machine learning, y compris l'apprentissage supervisé, le clustering non supervisé, la recherche du plus proche voisin et la réduction de dimensionnalité de haute dimension. Il inclut également un prétraitement de données tabulaires accéléré par le matériel pour la mise à l'échelle et l'encodage des caractéristiques, l'extraction de caractéristiques de texte, l'analyse de séries temporelles et l'explicabilité des prédictions de modèle. Les utilitaires de support incluent des outils pour la génération d'ensembles de données synthétiques, la sérialisation de l'état du modèle et le calcul des métriques de performance du modèle.
Provides high-performance Python bindings to execute critical C++ and CUDA logic for machine learning.
Panda3D est un moteur de jeu multiplateforme et un système de rendu graphique 3D développé pour Python et C++. Il fonctionne comme un framework complet pour construire des applications 3D interactives, fournissant un simulateur physique en temps réel et un outil de pipeline d'assets 3D spécialisé. Le moteur se distingue en combinant un cœur C++ haute performance avec des liaisons de langage Python interopérables. Il utilise une architecture de graphe de scène pour organiser les objets 3D et fournit un système de conversion d'assets basé sur pipeline pour optimiser les modèles et textures pour le chargement au runtime. Sa surface de capacités inclut des primitives graphiques de bas niveau pour l'exécution de shaders GPU personnalisés, le rendu audio 3D et l'intégration de réalité virtuelle pour la connectivité des périphériques et trackers. Le framework dispose également d'outils pour le packaging de binaires d'applications multiplateformes et le profilage de performance de trame basé sur le réseau. Le projet fournit une couche d'abstraction matérielle unifiée pour assurer un comportement cohérent à travers différents systèmes d'exploitation et environnements matériels.
Exposes C++ classes and functions to Python to combine execution speed with scripting flexibility.
UltraJSON est une bibliothèque JSON haute performance et un parser écrit en C avec des bindings pour Python. Il fournit une alternative rapide au traitement JSON standard pour décoder des chaînes JSON en structures de données natives et encoder des structures de données en chaînes JSON. La bibliothèque utilise un moteur basé sur C pour réduire la latence de traitement et augmenter le débit pour la génération et le parsing JSON. Elle est conçue pour accélérer les pipelines de données et optimiser la manipulation des charges utiles JSON.
Connects Python high-level types to low-level C structures for efficient memory sharing.
Shapely est une bibliothèque pour la manipulation et l'analyse d'objets géométriques plans, servant de wrapper Python pour le moteur C++ GEOS. Elle fournit un framework pour calculer des propriétés géométriques, évaluer des relations spatiales et effectuer des prédicats topologiques au sein d'un plan cartésien. Le projet se distingue par un processeur de géométrie vectorisé capable d'exécuter des opérations spatiales sur de grands tableaux de formes pour augmenter le débit. Il inclut également un système d'indexation spatiale basé sur des R-trees pour accélérer la récupération des géométries intersectantes et des plus proches voisins. La bibliothèque couvre un large éventail de capacités, incluant les opérations ensemblistes géométriques pour calculer des unions et des intersections, la sérialisation de données spatiales entre des formats comme GeoJSON et Well-Known Text, et des outils pour valider et réparer la topologie géométrique. Elle supporte en outre les transformations géométriques, le buffering et la génération d'enveloppes convexes ou de diagrammes de Voronoi.
Provides a Python wrapper around the GEOS C++ engine for high-performance geometric operations.
Ce projet est une bibliothèque C++ et un pilote matériel conçus pour contrôler des panneaux LED RGB Hub75 utilisant les broches GPIO d'un Raspberry Pi. Il fonctionne à la fois comme un contrôleur de panneau bas niveau et une bibliothèque graphique pour rendre du contenu visuel sur des grilles LED basse résolution. Le système se distingue par un ensemble complet d'outils de configuration matérielle, incluant le mapping de pixels personnalisé, la rotation et la mise en miroir pour correspondre aux géométries d'affichage physiques. Il prend en charge le chaînage multi-affichage dans des configurations parallèles et série et fournit un binding Python pour exposer la logique C++ centrale pour l'automatisation matérielle. La bibliothèque couvre un large éventail de capacités média, incluant le rendu de polices bitmap BDF, le texte défilant, les formes géométriques et les GIFs animés. Elle prend également en charge la lecture vidéo multi-threadée et utilise le double-buffering pour éviter le déchirement d'écran (tearing) et le scintillement pendant les animations. Les contrôles au niveau matériel incluent la modulation PWM pour le réglage de la profondeur de couleur, la surveillance des entrées GPIO et la correction de multiplexage pour assurer la compatibilité avec diverses normes de câblage de panneaux.
Exposes core C++ hardware control functionality through Python bindings for simplified scripting and automation.
This project is a Chinese language translation of the technical guides and API references for the PyTorch deep learning framework. It serves as a localized knowledge base and reference material to make deep learning documentation accessible to non-English speakers. The documentation covers a comprehensive range of PyTorch capabilities, including neural network model development, automatic differentiation, and the implementation of backend kernels. It provides detailed guidance on distributed training strategies, model deployment through formats like ONNX and C++, and various model optimizatio
Provides guides on linking external C++ classes to the runtime environment.
Velox est un moteur d'exécution de requêtes C++ haute performance et une bibliothèque de traitement de données colonnaires. Il sert de framework composable pour implémenter des moteurs de requêtes analytiques, fournissant un évaluateur d'expressions vectorisées et une boîte à outils pour les systèmes de gestion de données. Le projet se distingue par son utilisation de l'exécution colonnaire vectorisée et de l'allocation mémoire basée sur des arènes pour traiter des jeux de données à grande échelle. Il propose des optimisations spécialisées telles que la mise en cache des tables de jointure broadcast, le push-down de filtres dynamiques et l'encodage par dictionnaire pour réduire la surcharge mémoire et accélérer les lectures analytiques. Le moteur couvre un large éventail de capacités analytiques, incluant l'implémentation de jointures hash, merge et semi, ainsi que l'agrégation parallèle multi-étapes et le calcul de fonctions de fenêtre. Il fournit des primitives pour le stockage colonnaire en mémoire, le décodage de données Parquet et l'intégration avec le stockage cloud. L'extensibilité est assurée par un système d'enregistrement de fonctions pour des fonctions scalaires et d'agrégation personnalisées, avec des bindings de haut niveau disponibles pour connecter la logique C++ à Python.
Connects low-level execution engines and vector builders to Python using high-level bindings.
pyzmq fournit des bindings Python pour ZeroMQ, servant de bibliothèque de messagerie asynchrone pour le transport de données distribuées et la communication inter-processus. Il permet l'implémentation de modèles de communication non bloquants entre des composants distribués et des processus locaux. La boîte à outils se concentre sur l'échange de données haute performance grâce à des fonctionnalités telles que l'accès aux tampons zéro-copie, qui lit les messages entrants directement dans une mémoire pré-allouée pour éviter la duplication des données. Elle prend également en charge la gestion des messages multipartites et l'utilisation de wrappers d'objets de suivi d'état pour suivre les cycles de vie des sockets. La bibliothèque couvre un large éventail de capacités de communication, incluant le routage du trafic réseau via des proxies, l'authentification sécurisée des pairs et les contrôles d'abonnement aux sockets. Elle s'intègre aux runtimes asynchrones pour fournir des opérations de socket non bloquantes et un traitement de flux en arrière-plan. Les extensions binaires sont prises en charge sur plusieurs architectures matérielles via une compilation multiplateforme.
Provides high-performance Python bindings to the low-level C-based ZeroMQ library.