25 Repos
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 ist eine technische Referenzbibliothek, die eine kuratierte Sammlung von Code-Snippets und Implementierungsmustern für fortgeschrittene Python-Entwicklung, Systemintegration und High-Performance-Computing bereitstellt. Sie dient als umfassender Leitfaden für die Implementierung von Low-Level-Netzwerkprogrammierung, nativen C-Erweiterungen sowie asynchroner und nebenläufiger Programmierung. Das Projekt bietet spezialisierte Frameworks für die Entwicklung und Bereitstellung von Large Language Models, einschließlich Werkzeugen für verteilte GPU-Inferenz und High-Performance-Serving. Es enthält zudem detaillierte Muster für die Orchestrierung von High-Performance-Computing-Clustern, die GPU-Ressourcenzuweisung und Multi-Node-Workload-Management abdecken. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich sicherer Netzwerkkommunikation und Kryptografie, Object-Relational-Mapping und Datenbankverwaltung sowie die Implementierung komplexer Datenstrukturen und Algorithmen. Sie bietet zudem Utilities für Speicherverwaltung, native Interoperabilität via Foreign-Function-Interfaces und systemnahe OS-Integration.
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 is a research library and framework for reinforcement learning, planning, and multi-agent game simulation. It provides a system for representing single-agent and multi-agent games across zero-sum, cooperative, and imperfect information scenarios. The project utilizes a standardized abstract game interface to decouple game logic from algorithms, allowing agents to run across different game types. It implements performance-critical logic in C++ with Python bindings and uses deterministic seeded simulation to ensure reproducibility for research benchmarking. The framework covers a br
Utilizes C++ wrappers to expose performance-critical game logic to Python for efficient simulation.
Dieses Projekt ist ein Python-Wrapper für die OpenCV-Computer-Vision-Bibliothek und bietet eine Brücke, die hochperformante C++-Funktionen für die Programmiersprache Python verfügbar macht. Es dient als Sammlung von Tools für Echtzeit-Bildverarbeitung, Objekterkennung und maschinelles Lernen auf visuellen Daten. Das Projekt bietet vorkompilierte Binärdistributionen, die die Integration von Vision-Funktionen in Python-Anwendungen ermöglichen, ohne einen lokalen C++-Compiler zu erfordern. Es bietet Multi-Variant-Paketdistributionen, einschließlich Headless-Versionen, die für Server- oder Cloud-Umgebungen konzipiert sind, in denen keine grafische Benutzeroberfläche erforderlich ist. Die Bibliothek deckt ein breites Spektrum an Computer-Vision-Programmieraufgaben ab, einschließlich Bildverarbeitung und visueller Analyse. Sie unterstützt zudem hardwarebeschleunigtes Vision und die Erstellung benutzerdefinierter Bindings zur Aktivierung spezialisierter Funktionsmodule.
Provides high-performance Python-C++ bindings that expose the native OpenCV API to Python developers.
Dieses Projekt ist eine C++-Engine für Vektorähnlichkeit und eine Implementierung des Hierarchical Navigable Small World (HNSW) Algorithmus. Es bietet eine Header-only-Bibliothek für Approximate-Nearest-Neighbor-Suchen in hochdimensionalen Räumen sowie Python-Bindings, die diese Indexierungs- und Suchfunktionen für Data-Science-Umgebungen zugänglich machen. Die Engine ermöglicht Echtzeit-Embedding-Retrieval und hochdimensionale Ähnlichkeitssuche mittels einer mehrschichtigen Graphstruktur, um Suchgeschwindigkeit und Genauigkeit auszubalancieren. Sie unterstützt benutzerdefinierte Distanzmetriken zur Berechnung der Ähnlichkeit zwischen Vektoren in verschiedenen mathematischen Räumen. Das System deckt eine breite Palette an Indexierungsoperationen ab, einschließlich inkrementeller Vektoreinfügung und der Möglichkeit, Elemente als gelöscht zu markieren, ohne den Index neu aufbauen zu müssen. Es unterstützt zudem Multi-Vektor-Suche, Suchergebnis-Filterung und disk-basierte Persistenz, um den Index-Status zu speichern und neu zu laden.
Provides Python bindings for high-performance C++ vector indexing and search operations.
cuml ist eine GPU-beschleunigte Machine-Learning-Bibliothek und ein Framework, das CUDA nutzt, um die Vorverarbeitung tabellarischer Daten und die Modellausführung zu beschleunigen. Es bietet eine Suite von Tools zum Trainieren und Bereitstellen von Klassifizierungs-, Regressions- und Clustering-Modellen auf NVIDIA-GPUs und GPU-Clustern. Die Bibliothek ist auf Skalierbarkeit ausgelegt und bietet eine verteilte GPU-Machine-Learning-Umgebung, die Berechnungen und Daten über mehrere Hardware-Beschleuniger und Knoten hinweg verteilen kann, um Datensätze zu verarbeiten, die den Speicher eines einzelnen Geräts überschreiten. Sie spiegelt Standard-Estimator-Schnittstellen wider, um den Austausch von CPU-basierten Modellen durch GPU-beschleunigte Versionen innerhalb bestehender Workflows zu ermöglichen. Das Projekt deckt ein breites Spektrum an Machine-Learning-Funktionen ab, einschließlich überwachtem Lernen, unüberwachtem Clustering, Nearest-Neighbor-Suche und hochdimensionaler Dimensionsreduktion. Es enthält zudem hardwarebeschleunigte Vorverarbeitung tabellarischer Daten für Feature-Skalierung und -Kodierung, Text-Feature-Extraktion, Zeitreihenanalyse und Erklärbarkeit von Modellvorhersagen. Unterstützende Hilfsmittel umfassen Tools zur Generierung synthetischer Datensätze, zur Serialisierung des Modellzustands und zur Berechnung von Modell-Performance-Metriken.
Provides high-performance Python bindings to execute critical C++ and CUDA logic for machine learning.
Panda3D ist eine plattformübergreifende Game-Engine und ein 3D-Grafik-Rendering-System, das für Python und C++ entwickelt wurde. Es fungiert als umfassendes Framework zum Bau interaktiver 3D-Anwendungen und bietet einen Echtzeit-Physiksimulator sowie ein spezialisiertes 3D-Asset-Pipeline-Tool. Die Engine zeichnet sich durch die Kombination eines performanten C++-Kerns mit interoperablen Python-Sprachbindungen aus. Sie nutzt eine Szenengraph-Architektur zur Organisation von 3D-Objekten und bietet ein Pipeline-basiertes Asset-Konvertierungssystem zur Optimierung von Modellen und Texturen für das Laden zur Laufzeit. Die Funktionspalette umfasst Low-Level-Grafikprimitive für benutzerdefinierte GPU-Shader-Ausführung, 3D-Audio-Rendering und Virtual-Reality-Integration für Peripherie- und Tracker-Konnektivität. Das Framework bietet zudem Tools für Multi-Plattform-Anwendungs-Binary-Packaging und netzwerkbasiertes Frame-Performance-Profiling. Das Projekt bietet eine einheitliche Hardware-Abstraktionsschicht, um konsistentes Verhalten über verschiedene Betriebssysteme und Hardwareumgebungen hinweg sicherzustellen.
Exposes C++ classes and functions to Python to combine execution speed with scripting flexibility.
UltraJSON ist eine hochperformante JSON-Bibliothek und ein Parser, der in C mit Bindings für Python geschrieben wurde. Er bietet eine schnelle Alternative zur Standard-JSON-Verarbeitung für das Dekodieren von JSON-Strings in native Datenstrukturen und das Enkodieren von Datenstrukturen zurück in JSON-Strings. Die Bibliothek nutzt eine C-basierte Engine, um die Verarbeitungs-Latenz zu reduzieren und den Durchsatz für JSON-Generierung und -Parsing zu erhöhen. Sie ist darauf ausgelegt, Datenpipelines zu beschleunigen und die Handhabung von JSON-Payloads zu optimieren.
Connects Python high-level types to low-level C structures for efficient memory sharing.
Shapely ist eine Bibliothek für die Manipulation und Analyse planarer geometrischer Objekte und dient als Python-Wrapper für die GEOS-C++-Engine. Sie bietet ein Framework zur Berechnung geometrischer Eigenschaften, zur Bewertung räumlicher Beziehungen und zur Durchführung topologischer Prädikate innerhalb einer kartesischen Ebene. Das Projekt zeichnet sich durch einen vektorisierten Geometrie-Prozessor aus, der räumliche Operationen über große Arrays von Formen hinweg ausführen kann, um den Durchsatz zu erhöhen. Es enthält zudem ein räumliches Indizierungssystem auf Basis von R-Trees, um den Abruf sich schneidender Geometrien und nächstgelegener Nachbarn zu beschleunigen. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, darunter geometrische Mengenoperationen zur Berechnung von Vereinigungen und Schnittmengen, Serialisierung räumlicher Daten zwischen Formaten wie GeoJSON und Well-Known-Text sowie Tools zur Validierung und Reparatur der Geometrietopologie. Sie unterstützt zudem geometrische Transformationen, Buffering und die Generierung konvexer Hüllen oder Voronoi-Diagramme.
Provides a Python wrapper around the GEOS C++ engine for high-performance geometric operations.
Dieses Projekt ist eine C++-Bibliothek und ein Hardware-Treiber, der darauf ausgelegt ist, Hub75 RGB-LED-Panels über die GPIO-Pins eines Raspberry Pi zu steuern. Es fungiert sowohl als Low-Level-Panel-Controller als auch als Grafikbibliothek zum Rendern visueller Inhalte auf niedrigauflösenden LED-Gittern. Das System zeichnet sich durch ein umfassendes Set an Hardware-Konfigurationstools aus, einschließlich benutzerdefiniertem Pixel-Mapping, Rotation und Spiegelung, um physische Display-Geometrien anzupassen. Es unterstützt Multi-Display-Chaining in parallelen und seriellen Konfigurationen und bietet ein Python-Binding, um die C++-Kernlogik für Hardware-Automatisierung verfügbar zu machen. Die Bibliothek deckt ein breites Spektrum an Medienfunktionen ab, einschließlich des Renderns von BDF-Bitmap-Schriftarten, scrollendem Text, geometrischen Formen und animierten GIFs. Sie unterstützt zudem Multi-Threaded-Videowiedergabe und verwendet Double-Buffering, um Screen-Tearing und Flackern während Animationen zu verhindern. Hardware-Level-Steuerungen umfassen PWM-Modulation für Farbtiefenabstimmung, GPIO-Eingangsüberwachung und Multiplexing-Korrektur, um die Kompatibilität mit verschiedenen Panel-Verkabelungsstandards sicherzustellen.
Exposes core C++ hardware control functionality through Python bindings for simplified scripting and automation.
Dieses Projekt ist eine chinesische Übersetzung der technischen Handbücher und API-Referenzen für das PyTorch Deep-Learning-Framework. Es dient als lokalisierte Wissensdatenbank und Referenzmaterial, um die Deep-Learning-Dokumentation für nicht-englischsprachige Nutzer zugänglich zu machen. Die Dokumentation deckt ein umfassendes Spektrum an PyTorch-Funktionen ab, einschließlich der Entwicklung neuronaler Netzwerkmodelle, automatischer Differenzierung und der Implementierung von Backend-Kernels. Sie bietet detaillierte Anleitungen zu verteilten Trainingsstrategien, Modellbereitstellung über Formate wie ONNX und C++ sowie verschiedene Techniken zur Modelloptimierung und Quantisierung. Das Projekt nutzt eine Community-gesteuerte Übersetzungspipeline und ein verteiltes Beitragsmodell, um versionierte Inhalte aktuell zu halten. Technische Materialien sind in Markdown organisiert und werden über Static Site Generation in eine navigierbare Website umgewandelt.
Provides guides on linking external C++ classes to the runtime environment.
Velox ist eine leistungsstarke C++-Abfrage-Ausführungs-Engine und eine Bibliothek für spaltenbasierte Datenverarbeitung. Sie dient als kompositionsfähiges Framework zur Implementierung analytischer Query-Engines und bietet einen vektorisierten Ausdrucksauswerter sowie ein Toolkit für Datenmanagementsysteme. Das Projekt zeichnet sich durch die Verwendung vektorisierter spaltenbasierter Ausführung und arena-basierter Speicherallokation zur Verarbeitung großer Datensätze aus. Es bietet spezialisierte Optimierungen wie Broadcast-Join-Table-Caching, Dynamic-Filter-Push-Down und Dictionary-Encoding, um den Speicher-Overhead zu reduzieren und analytische Lesezugriffe zu beschleunigen. Die Engine deckt ein breites Spektrum analytischer Funktionen ab, einschließlich der Implementierung von Hash-, Merge- und Semi-Joins sowie mehrstufiger paralleler Aggregation und der Berechnung von Fensterfunktionen. Sie bietet Primitive für spaltenbasierte In-Memory-Speicherung, Parquet-Datendekodierung und die Integration mit Cloud-Speichern. Erweiterbarkeit wird durch ein Funktionsregistrierungssystem für benutzerdefinierte Skalar- und Aggregatfunktionen geboten, wobei High-Level-Bindings verfügbar sind, um die C++-Logik mit Python zu verbinden.
Connects low-level execution engines and vector builders to Python using high-level bindings.
pyzmq bietet Python-Sprachbindungen für ZeroMQ und dient als asynchrone Messaging-Bibliothek für verteilten Datentransport und Inter-Prozess-Kommunikation. Sie ermöglicht die Implementierung nicht-blockierender Kommunikationsmuster zwischen verteilten Komponenten und lokalen Prozessen. Das Toolkit konzentriert sich auf leistungsstarke Datenaustausch-Funktionen wie Zero-Copy-Pufferzugriff, der eingehende Nachrichten direkt in vorab alliierten Speicher liest, um Datenduplizierung zu vermeiden. Es unterstützt zudem die Verwaltung von Multipart-Nachrichten und die Verwendung von State-Shadowing-Objekt-Wrappern zur Verfolgung von Socket-Lebenszyklen. Die Bibliothek deckt ein breites Spektrum an Kommunikationsfunktionen ab, einschließlich Netzwerkverkehrs-Routing über Proxys, sicherer Peer-Authentifizierung und Socket-Abonnement-Kontrollen. Sie integriert sich in asynchrone Laufzeitumgebungen, um nicht-blockierende Socket-Operationen und Hintergrund-Stream-Verarbeitung bereitzustellen. Binäre Erweiterungen werden über mehrere Hardwarearchitekturen hinweg durch plattformübergreifende Kompilierung unterstützt.
Provides high-performance Python bindings to the low-level C-based ZeroMQ library.