25 repositorios
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 es una biblioteca de referencia técnica que proporciona una colección curada de fragmentos de código y patrones de implementación para el desarrollo avanzado en Python, integración de sistemas y computación de alto rendimiento. Sirve como una guía completa para implementar programación de red de bajo nivel, extensiones nativas en C y programación asíncrona y concurrente. El proyecto proporciona frameworks especializados para el desarrollo y despliegue de modelos de lenguaje de gran tamaño, incluyendo herramientas para inferencia distribuida en GPU y servicio de alto rendimiento. También incluye patrones detallados para la orquestación de clústeres de computación de alto rendimiento, cubriendo la asignación de recursos de GPU y la gestión de cargas de trabajo en múltiples nodos. La biblioteca cubre una amplia superficie de capacidades, incluyendo comunicación de red segura y criptografía, mapeo objeto-relacional y gestión de bases de datos, y la implementación de estructuras de datos y algoritmos complejos. También proporciona utilidades para la gestión de memoria, interoperabilidad nativa a través de interfaces de funciones externas e integración de sistemas operativos a nivel de sistema.
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 es una biblioteca de investigación y framework para aprendizaje por refuerzo, planificación y simulación de juegos multi-agente. Proporciona un sistema para representar juegos de agente único y multi-agente en escenarios de suma cero, cooperativos y de información imperfecta. El proyecto utiliza una interfaz de juego abstracta estandarizada para desacoplar la lógica del juego de los algoritmos, permitiendo que los agentes se ejecuten en diferentes tipos de juegos. Implementa lógica crítica para el rendimiento en C++ con bindings para Python y utiliza simulación determinista con semillas para garantizar la reproducibilidad en la investigación de benchmarks. El framework cubre una amplia gama de capacidades, incluyendo algoritmos de búsqueda y planificación computacional, aprendizaje por refuerzo multi-agente e investigación en teoría de juegos. También incluye herramientas para el análisis de dinámicas de aprendizaje para rastrear el comportamiento de los agentes y calcular métricas de evaluación.
Utilizes C++ wrappers to expose performance-critical game logic to Python for efficient simulation.
Este proyecto es un wrapper de Python para la biblioteca de visión artificial OpenCV, que proporciona un puente que expone funciones de C++ de alto rendimiento al lenguaje de programación Python. Sirve como una colección de herramientas para procesamiento de imágenes en tiempo real, detección de objetos y machine learning en datos visuales. El proyecto proporciona distribuciones binarias precompiladas, permitiendo la integración de capacidades de visión en aplicaciones de Python sin requerir un compilador de C++ local. Ofrece distribuciones de paquetes multivariantes, incluyendo versiones headless diseñadas para entornos de servidor o nube donde no se requiere una interfaz gráfica de usuario. La biblioteca cubre una amplia gama de tareas de programación de visión artificial, incluyendo procesamiento de imágenes y análisis visual. También admite visión acelerada por hardware y la creación de bindings personalizados para activar módulos funcionales especializados.
Provides high-performance Python-C++ bindings that expose the native OpenCV API to Python developers.
Este proyecto es un motor de similitud vectorial en C++ y una implementación del algoritmo Hierarchical Navigable Small World. Proporciona una librería header-only para realizar búsquedas aproximadas de vecinos más cercanos en espacios de alta dimensión, junto con bindings de Python que exponen estas capacidades de indexación y búsqueda a entornos de ciencia de datos. El motor permite la recuperación de embeddings en tiempo real y la búsqueda de similitud de alta dimensión utilizando una estructura de grafo multicapa para equilibrar la velocidad de búsqueda y la precisión. Soporta métricas de distancia personalizadas para calcular la similitud entre vectores en varios espacios matemáticos. El sistema cubre una amplia gama de operaciones de indexación, incluyendo la inserción incremental de vectores y la capacidad de marcar elementos como eliminados sin reconstruir el índice. También soporta búsqueda multi-vector, filtrado de resultados de búsqueda y persistencia basada en disco para guardar y recargar el estado del índice.
Provides Python bindings for high-performance C++ vector indexing and search operations.
cuml es una librería y framework de aprendizaje automático acelerado por GPU que utiliza CUDA para acelerar el preprocesamiento de datos tabulares y la ejecución de modelos. Proporciona un conjunto de herramientas para entrenar y desplegar modelos de clasificación, regresión y agrupamiento en GPUs de NVIDIA y clústeres de GPU. La librería está diseñada para la escalabilidad, ofreciendo un entorno de aprendizaje automático de GPU distribuido que puede repartir la computación y los datos a través de múltiples aceleradores de hardware y nodos para manejar conjuntos de datos que exceden la memoria de un solo dispositivo. Refleja las interfaces de estimador estándar para permitir el reemplazo de modelos basados en CPU con versiones aceleradas por GPU dentro de los flujos de trabajo existentes. El proyecto cubre una amplia gama de capacidades de aprendizaje automático, incluyendo aprendizaje supervisado, agrupamiento no supervisado, búsqueda de vecinos más cercanos y reducción de dimensionalidad de alta dimensión. También incluye preprocesamiento de datos tabulares acelerado por hardware para escalado y codificación de características, extracción de características de texto, análisis de series temporales y explicabilidad de predicción de modelos. Las utilidades de soporte incluyen herramientas para la generación de conjuntos de datos sintéticos, serialización del estado del modelo y el cálculo de métricas de rendimiento del modelo.
Provides high-performance Python bindings to execute critical C++ and CUDA logic for machine learning.
Panda3D es un motor de juegos multiplataforma y sistema de renderizado de gráficos 3D desarrollado para Python y C++. Funciona como un framework integral para construir aplicaciones 3D interactivas, proporcionando un simulador de física en tiempo real y una herramienta de pipeline de activos 3D especializada. El motor se distingue por combinar un núcleo de C++ de alto rendimiento con bindings de lenguaje Python interoperables. Utiliza una arquitectura de grafo de escena para organizar objetos 3D y proporciona un sistema de conversión de activos basado en pipeline para optimizar modelos y texturas para la carga en tiempo de ejecución. Su superficie de capacidades incluye primitivas gráficas de bajo nivel para la ejecución de shaders de GPU personalizados, renderizado de audio 3D e integración de realidad virtual para conectividad de periféricos y rastreadores. El framework también cuenta con herramientas para el empaquetado de binarios de aplicaciones multiplataforma y perfilado de rendimiento de frames basado en red. El proyecto proporciona una capa de abstracción de hardware unificada para asegurar un comportamiento consistente a través de diferentes sistemas operativos y entornos de hardware.
Exposes C++ classes and functions to Python to combine execution speed with scripting flexibility.
UltraJSON is a high-performance JSON library and parser written in C with bindings for Python. It provides a fast alternative to standard JSON processing for decoding JSON strings into native data structures and encoding data structures back into JSON strings. The library utilizes a C-based engine to reduce processing latency and increase throughput for JSON generation and parsing. It is designed to accelerate data pipelines and optimize the handling of JSON payloads.
Connects Python high-level types to low-level C structures for efficient memory sharing.
Shapely es una librería para la manipulación y análisis de objetos geométricos planos, que sirve como un wrapper de Python para el motor C++ GEOS. Proporciona un framework para calcular propiedades geométricas, evaluar relaciones espaciales y realizar predicados topológicos dentro de un plano cartesiano. El proyecto se distingue por un procesador de geometría vectorizado capaz de ejecutar operaciones espaciales a través de grandes arrays de formas para aumentar el rendimiento. También incluye un sistema de indexación espacial basado en R-trees para acelerar la recuperación de geometrías intersecantes y vecinos más cercanos. La librería cubre un amplio rango de capacidades, incluyendo operaciones de conjuntos geométricos para calcular uniones e intersecciones, serialización de datos espaciales entre formatos como GeoJSON y Well-Known Text, y herramientas para validar y reparar la topología de la geometría. Además, soporta transformaciones geométricas, buffering y la generación de cascos convexos o diagramas de Voronoi.
Provides a Python wrapper around the GEOS C++ engine for high-performance geometric operations.
Este proyecto es una biblioteca de C++ y un controlador de hardware diseñado para controlar paneles LED RGB Hub75 utilizando los pines GPIO de una Raspberry Pi. Funciona tanto como un controlador de panel de bajo nivel como una biblioteca de gráficos para renderizar contenido visual en cuadrículas LED de baja resolución. El sistema se distingue por un conjunto integral de herramientas de configuración de hardware, incluyendo mapeo de píxeles personalizado, rotación y duplicación para coincidir con geometrías de pantalla físicas. Admite el encadenamiento de múltiples pantallas en configuraciones paralelas y en serie, y proporciona un binding de Python para exponer la lógica central de C++ para la automatización de hardware. La biblioteca cubre una amplia gama de capacidades multimedia, incluyendo el renderizado de fuentes de mapa de bits BDF, texto desplazable, formas geométricas y GIFs animados. También admite la reproducción de video multihilo y utiliza doble búfer para evitar el desgarro de pantalla (tearing) y el parpadeo durante las animaciones. Los controles a nivel de hardware incluyen modulación PWM para ajuste de profundidad de color, monitoreo de entrada GPIO y corrección de multiplexación para garantizar la compatibilidad con varios estándares de cableado de paneles.
Exposes core C++ hardware control functionality through Python bindings for simplified scripting and automation.
Este proyecto es una traducción al chino de las guías técnicas y referencias de API para el framework de aprendizaje profundo PyTorch. Sirve como una base de conocimientos localizada y material de referencia para hacer que la documentación de aprendizaje profundo sea accesible para hablantes no angloparlantes. La documentación cubre una gama completa de capacidades de PyTorch, incluyendo el desarrollo de modelos de redes neuronales, diferenciación automática y la implementación de kernels de backend. Proporciona orientación detallada sobre estrategias de entrenamiento distribuido, despliegue de modelos a través de formatos como ONNX y C++, y diversas técnicas de optimización y cuantización de modelos. El proyecto utiliza un pipeline de traducción impulsado por la comunidad y un modelo de contribución distribuido para mantener el contenido sincronizado con las versiones. Los materiales técnicos se organizan utilizando markdown y se renderizan en un sitio web navegable mediante generación de sitios estáticos.
Provides guides on linking external C++ classes to the runtime environment.
Velox es un motor de ejecución de consultas en C++ de alto rendimiento y biblioteca de procesamiento de datos columnares. Sirve como un framework componible para implementar motores de consulta analíticos, proporcionando un evaluador de expresiones vectorizadas y un toolkit para sistemas de gestión de datos. El proyecto se distingue por su uso de ejecución columnar vectorizada y asignación de memoria basada en arena para procesar conjuntos de datos a gran escala. Cuenta con optimizaciones especializadas como caché de tablas de broadcast join, push-down de filtros dinámicos y codificación de diccionario para reducir la sobrecarga de memoria y acelerar las lecturas analíticas. El motor cubre una amplia gama de capacidades analíticas, incluyendo la implementación de hash, merge y semi joins, así como agregación paralela multietapa y cálculo de funciones de ventana. Proporciona primitivas para almacenamiento columnar en memoria, decodificación de datos Parquet e integración con almacenamiento en la nube. La extensibilidad se proporciona a través de un sistema de registro de funciones para funciones escalares y agregadas personalizadas, con bindings de alto nivel disponibles para conectar la lógica de C++ a Python.
Connects low-level execution engines and vector builders to Python using high-level bindings.
pyzmq proporciona bindings del lenguaje Python para ZeroMQ, sirviendo como una biblioteca de mensajería asíncrona para el transporte de datos distribuido y la comunicación entre procesos. Permite la implementación de patrones de comunicación no bloqueantes entre componentes distribuidos y procesos locales. El toolkit se centra en el intercambio de datos de alto rendimiento a través de características como el acceso a búfer zero-copy, que lee los mensajes entrantes directamente en memoria preasignada para evitar la duplicación de datos. También admite la gestión de mensajes multipart y el uso de wrappers de objetos de sombreado de estado para rastrear los ciclos de vida de los sockets. La biblioteca cubre una amplia gama de capacidades de comunicación, incluyendo el enrutamiento de tráfico de red a través de proxies, autenticación segura de pares y controles de suscripción de sockets. Se integra con runtimes asíncronos para proporcionar operaciones de socket no bloqueantes y procesamiento de streams en segundo plano. Las extensiones binarias son compatibles a través de múltiples arquitecturas de hardware mediante compilación multiplataforma.
Provides high-performance Python bindings to the low-level C-based ZeroMQ library.