23 Repos
Thin interface layers mapping high-level Python calls to optimized low-level machine code routines.
Distinct from C Interoperability Layers: Distinct from C Interoperability Layers: focuses on the specific performance-oriented bridge for numerical data processing.
Explore 23 awesome GitHub repositories matching operating systems & systems programming · Python-C Interfaces. Refine with filters or upvote what's useful.
NumPy is a foundational library for scientific computing in Python, providing a comprehensive framework for managing and manipulating large-scale numerical information. It centers on high-performance multidimensional array objects that serve as the primary data structure for complex mathematical operations and data analysis workflows. The library distinguishes itself through specialized mechanisms for handling multidimensional data, including advanced indexing, slicing, and broadcasting techniques that allow for efficient operations across arrays of varying shapes. It utilizes strided metadat
Provides a high-performance bridge between Python and compiled C/Fortran code for numerical processing.
This project is a comprehensive educational resource and technical documentation suite for learning and developing deep learning models. It serves as an open-source textbook, implementation manual, and framework tutorial designed to guide users through the mathematical foundations and practical application of neural networks. The resource provides detailed instructional content on building various model architectures, including convolutional and recurrent neural networks. It includes a dedicated distributed training guide and a learning path that covers the fundamentals of tensors, automatic
Provides documentation on using Python-C interfaces to access high-performance backend components.
pybind11 is a header-only C++ binding library that exposes C++ functions and classes as Python modules. It serves as a language bridge, mapping native types, inheritance hierarchies, and lambda functions into compatible Python objects to enable high-performance native code execution. The library includes specialized integration for NumPy arrays, utilizing buffer protocols to bind native C++ data without copying memory. It provides a toolkit for mapping C++ standard library data structures and smart pointers into the Python environment while maintaining cross-language memory management. The p
Provides the low-level interface layer that maps Python calls to C++ native routines.
SciPy is a scientific computing library for Python that provides a comprehensive collection of mathematical algorithms and numerical tools for research and engineering. It functions as a high-performance numerical analysis framework, bridging high-level Python code with compiled C and Fortran routines to execute complex computations at hardware speeds. The library is built upon array-based data structures that utilize strided memory layouts to enable efficient data manipulation and slicing. By employing vectorized operation dispatch and linking to optimized hardware-specific linear algebra li
Bridges high-level Python code with compiled C and Fortran routines to execute complex computations at hardware speeds.
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
Implements a high-performance interface layer mapping C++ machine learning classes to Python objects.
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 high-performance C++ computational kernels to Python for rapid prototyping and efficient data analysis workflows.
QGIS is a professional, open-source desktop geographic information system designed for the creation, editing, visualization, and analysis of complex spatial data. It functions as a comprehensive environment for managing vector, raster, and point cloud datasets, providing the tools necessary to perform coordinate transformations, georeferencing, and geographic calculations. The platform distinguishes itself through a modular architecture that supports deep system integration via third-party plugins and a hybrid runtime that combines high-performance compiled code with an interpreted scripting
Combines high-performance C++ core processing with an interpreted Python scripting layer for automation.
GPU-Puzzles is an interactive learning environment and tutorial designed for mastering CUDA GPU kernel development. It serves as an educational tool and lab where users solve coding puzzles to understand how to map high-level logic to low-level GPU hardware instructions. The platform focuses on teaching parallel computing concepts and GPU architecture. Users practice developing parallel algorithms and managing GPU memory through a series of hands-on challenges. The environment utilizes a bridge between Python and CUDA to execute kernels and provide real-time feedback by validating outputs ag
Interfaces a high-level Python scripting environment with low-level C-style CUDA kernel code.
This project is a Python wrapper for the TA-Lib C library, serving as a financial technical analysis library and quantitative trading tool. It provides a collection of mathematical functions designed to analyze market price movements, identify trading signals, and recognize candlestick patterns within financial data. The library focuses on the computation of trend, momentum, and volume metrics. It includes specialized tools for candlestick pattern recognition to detect recurring price action shapes in both historical and real-time data. The system integrates with NumPy arrays to process cont
Provides a high-performance interface mapping Python calls to the optimized C routines of the TA-Lib library.
This project is a Python wrapper for the TA-Lib library, providing a technical analysis library for computing moving averages, momentum, and volatility metrics for financial time series analysis. It serves as a financial indicator calculator that processes price and volume arrays to generate technical signals and pattern recognition. The library includes an incremental data processor capable of computing the most recent technical indicator values as new streaming market data arrives. This allows for real-time price monitoring and the processing of streaming data without recalculating entire d
Provides a thin interface layer mapping Python calls to optimized C routines for high-performance financial calculations.
Diese Bibliothek bietet eine programmatische Schnittstelle zur Überwachung von Systemressourcen und zur Verwaltung von Prozesslebenszyklen. Sie fungiert als plattformübergreifendes Dienstprogramm, das Echtzeit-Metriken zur Hardwareauslastung abruft und die Inspektion und Steuerung laufender Systemprozesse ermöglicht. Das Projekt normalisiert unterschiedliche Datenstrukturen von Betriebssystemen in eine einheitliche Schnittstelle und ermöglicht so eine konsistente Interaktion mit Informationen auf Kernelebene, unabhängig von der Host-Umgebung. Durch die Verwendung kompilierter Erweiterungen zur direkten Schnittstellenbildung mit nativen System-APIs bietet sie einen konsistenten Weg, auf Leistungsdaten zuzugreifen und Aufgabenstatus zu verwalten, für die sonst plattformspezifische Kommandozeilen-Dienstprogramme erforderlich wären. Die Bibliothek deckt ein breites Spektrum an Systemverwaltungs- und Leistungsprofilierungsaufgaben ab, einschließlich der Sammlung granularer Daten zu Prozessoren, Speicher, Festplatten und Netzwerkschnittstellen. Sie ist darauf ausgelegt, in Skripte integriert zu werden, um die Überwachung der Hardwaregesundheit und die Verwaltung der Anwendungsstabilität zu automatisieren.
Provides a high-performance bridge between high-level code and native system APIs using compiled extensions.
CuPy ist eine CUDA-Array-Computing-Bibliothek, die eine NumPy-kompatible Schnittstelle für die Ausführung von Array-Operationen und numerischen Berechnungen auf NVIDIA GPUs implementiert. Sie dient als GPU-beschleunigte numerische Bibliothek und CUDA-basierte SciPy-Implementierung, die rechenintensive Aufgaben auf Grafikhardware auslagert, um die Verarbeitungsgeschwindigkeit für wissenschaftliche und technische Workloads zu erhöhen. Die Bibliothek ermöglicht den Austausch von Tensoren zwischen verschiedenen Frameworks, wodurch Datenpuffer zwischen verschiedenen Deep-Learning-Frameworks unter Verwendung standardisierter Speicherlayouts geteilt werden können, um Speicherkopien zu vermeiden. Sie unterstützt zudem die Integration benutzerdefinierter GPU-Kernel, wodurch Array-Daten mit Low-Level-APIs verbunden werden können, um eine präzise Kontrolle über die Hardwareausführung zu ermöglichen. Das Projekt deckt im Wesentlichen Workflows für Array-Verarbeitung und wissenschaftliches Rechnen mit hoher Leistung ab. Zu den Fähigkeiten gehören die Beschleunigung von Array-Berechnungen und die Bereitstellung von Werkzeugen für numerische Berechnungen im großen Maßstab.
Provides high-performance Python-C++ interfaces to wrap low-level CUDA calls for scientific computing.
llama-cpp-python provides a Python interface for the llama.cpp library, enabling the execution of large language models with hardware acceleration. It functions as a GGUF model loader and a structured text generator capable of running inference servers and multimodal runtimes for processing both text and image inputs. The project distinguishes itself through a local inference server that exposes model capabilities via an OpenAI-compatible web API. It supports advanced execution techniques including speculative decoding, weight quantization, and layer-based GPU offloading to manage memory acro
Maps high-level Python function calls to optimized low-level C++ memory operations for model execution.
Cutlass is a collection of C++ templates and Python interfaces for implementing high-performance linear algebra operations on NVIDIA GPUs. It provides a kernel composition framework for designing custom GPU kernels and a mixed-precision tensor library capable of executing operations across diverse data formats, ranging from 64-bit floating point to 4-bit integers. The project features a toolkit for operator fusion that integrates activation functions and bias calculations directly into matrix multiplication kernels to reduce memory passes. It also includes a Python-based domain-specific langu
Provides a high-level Python DSL to define kernel configurations and layouts without requiring C++ glue code.
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.
Provides mechanisms for calling Python functions and methods from within a native C extension.
orjson is a high-performance Python library for serializing and deserializing JSON data. It functions as both a JSON parsing library and a serialization engine, converting data between native Python objects and UTF-8 encoded bytes. The project provides specialized support for converting complex Python data structures, including dataclasses, datetime objects, and NumPy arrays and scalars, into JSON format. It also allows for the insertion of pre-serialized JSON blobs into documents to maintain processing speed. The library includes capabilities for memory-efficient deserialization through key
Implements a high-performance bridge between the Rust core and Python via a C-API interface.
InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
Provides a comparison guide between C++ and Python highlighting key language differences.
Dieses Projekt ist eine Bibliothek zur Bewertung der Videoqualität und eine Tool-Suite zur Quantifizierung von Videodegradation und zur Identifizierung von Banding-Artefakten. Es bietet eine wahrnehmungsbasierte Videoqualitätsmetrik, die verzerrte Videostreams mit einer hochwertigen Referenz vergleicht, um die menschliche visuelle Wahrnehmung zu schätzen. Das Toolkit enthält ein spezialisiertes System zum Training und zur Validierung benutzerdefinierter wahrnehmungsbasierter Qualitätsmodelle unter Verwendung spezifischer Datensätze. Es bietet zudem einen kontrastbewussten Multiskalen-Index speziell zur Erkennung von Konturierungs- und Banding-Artefakten in Videostreams. Die Bibliothek deckt die Berechnung objektiver Videometriken und die Analyse der Videokompression ab und nutzt dabei sowohl traditionelle mathematische Maße als auch fusionsbasierte Algorithmen. Diese Funktionen ermöglichen die Bewertung verschiedener Encoder oder Bitraten sowie die Identifizierung spezifischer visueller Verzerrungen. Die Implementierung besteht aus einer Kernbibliothek in C mit einem Python-Binding-Wrapper für High-Level-Analysen und Modelltraining.
Provides a Python interface that wraps the C core for high-level video analysis and model training.
NCCL ist eine Hochleistungs-Kommunikationsbibliothek und ein Framework für verteiltes GPU-Computing, das für die Ausführung kollektiver und Punkt-zu-Punkt-Datenaustausche über mehrere GPUs in Einzel- oder Multi-Node-Systemen entwickelt wurde. Es dient als RDMA-GPU-Transportschicht und Speicher-Orchestrator, der die hochbandbreitige Synchronisation von Daten und Modellgradienten für verteiltes GPU-Training und Inference erleichtert. Die Bibliothek zeichnet sich durch ihre Fähigkeit aus, Kommunikationsprimitive direkt aus GPU-Kernels auszuführen, wodurch die Host-CPU aus dem kritischen Pfad entfernt wird. Sie nutzt topologiebewusste Pfadauswahl zur Optimierung der Datenbewegung und verwendet RDMA-basierten Netzwerktransport, einschließlich InfiniBand und NVLink, um Zero-Copy-Speicherzugriffe zwischen Geräten über verschiedene physische Knoten hinweg zu ermöglichen. Das Projekt deckt eine breite Palette an kollektiven Kommunikationsmustern ab, darunter Reduktionen, Broadcasts, Gathers und All-to-All-Austausche, neben Punkt-zu-Punkt-Remote-Speicherzugriffen. Es bietet umfassendes Communicator-Management für die Initialisierung, Partitionierung und Größenanpassung von GPU-Gruppen sowie spezialisiertes Speichermanagement für das Registrieren von Buffern und das Koordinieren von gemeinsam genutztem Gerätespeicher. Das System enthält eine Suite von Monitoring- und Observability-Tools für Health-Tracking, diagnostisches Logging und Echtzeit-Ereignisüberwachung sowie Integrationsschnittstellen für Machine-Learning-Frameworks, CUDA-Graphs, MPI und Python.
Exposes core high-performance communication primitives through a Python interface for easier integration into ML workflows.
matplotlib-cpp ist eine Header-only C++-Bibliothek und ein Wrapper, der die Erstellung von 2D- und 3D-Visualisierungen durch Aufrufen von Matplotlib-Funktionen direkt aus C++-Code ermöglicht. Es dient als Plotting-Schnittstelle zur Generierung von Liniendiagrammen, Balkendiagrammen und Oberflächendiagrammen unter Verwendung eines Python-basierten Backends. Die Bibliothek ist als leichtgewichtige Integration konzipiert, die Plotting-Funktionen bereitstellt, ohne einen komplexen Build-Prozess oder kompilierte Binärdateien zu erfordern. Sie deckt eine Reihe von Visualisierungsfunktionen ab, einschließlich der Darstellung mehrdimensionaler Daten, Vektorfeld-Plotting und der Anordnung mehrerer Subplots. Das Toolkit unterstützt zudem die Erstellung dynamischer Animationen und den Export generierter Visualisierungen als Bilddateien.
Provides the mechanism to invoke Python plotting functions from within a compiled C++ environment.