23 个仓库
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.
该库提供了一个用于监控系统资源和管理进程生命周期的编程接口。它作为一个跨平台工具,检索硬件利用率的实时指标,并允许检查和控制正在运行的系统进程。 该项目将不同的操作系统数据结构标准化为一个统一的接口,无论主机环境如何,都能实现与内核级信息的一致交互。通过利用编译扩展直接与原生系统 API 接口,它提供了一种访问性能数据和管理任务状态的一致方式,否则这些任务将需要特定于平台的命令行工具。 该库涵盖了广泛的系统管理和性能分析任务,包括收集有关处理器、内存、磁盘和网络接口的细粒度数据。它旨在集成到脚本中,以自动化监控硬件健康状况和管理应用程序稳定性。
Provides a high-performance bridge between high-level code and native system APIs using compiled extensions.
CuPy 是一个 CUDA 数组计算库,实现了与 NumPy 兼容的接口,用于在 NVIDIA GPU 上执行数组操作和数值计算。它作为一个 GPU 加速数值库和基于 CUDA 的 SciPy 实现,将繁重的计算卸载到图形硬件上,以提高科学和工程工作负载的处理速度。 该库支持多框架张量交换,允许使用标准化的内存布局在不同的深度学习框架之间共享数据缓冲区,从而避免内存拷贝。它还支持自定义 GPU 内核集成,允许将数组数据连接到低级 API,以便精确控制硬件执行。 该项目广泛涵盖了高性能数组处理和科学计算工作流。其功能包括加速数组计算和提供大规模数值计算工具。
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 是一个技术参考库,提供了一系列精选的代码片段和实现模式,用于高级 Python 开发、系统集成和高性能计算。它充当实现底层网络编程、原生 C 扩展以及异步和并发编程的综合指南。 该项目为大语言模型的开发和部署提供了专门的框架,包括用于分布式 GPU 推理和高性能服务的工具。它还包括用于高性能计算集群编排的详细模式,涵盖 GPU 资源分配和多节点工作负载管理。 该库涵盖了广泛的功能,包括安全网络通信和加密、对象关系映射和数据库管理,以及复杂数据结构和算法的实现。它还提供用于内存管理、通过外部函数接口(FFI)进行原生互操作以及系统级 OS 集成的实用程序。
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.
该项目是一个视频质量评估库和工具套件,旨在量化视频退化并识别条带伪影。它提供了一种感知视频质量指标,通过将失真视频流与高质量参考视频进行比较,来估计人类的视觉感知。 该工具包包含一个专门的系统,用于使用特定数据集训练和验证自定义感知质量模型。它还具有一个对比度感知多尺度索引,专门用于检测视频流中的轮廓和条带伪影。 该库涵盖了客观视频指标计算和视频压缩分析,利用了传统的数学度量和基于融合的算法。这些功能允许评估不同的编码器或比特率,并识别特定的视觉失真。 该实现由一个 C 语言编写的核心库和一个用于高级分析与模型训练的 Python 绑定封装器组成。
Provides a Python interface that wraps the C core for high-level video analysis and model training.
NCCL 是一个高性能通信库和分布式 GPU 计算框架,专为在单节点或多节点系统中的多个 GPU 之间执行集合和点对点数据交换而设计。它充当 RDMA GPU 传输层和内存编排器,为分布式 GPU 训练和推理提供高带宽的数据和模型梯度同步。 该库的特色在于能够直接从 GPU 内核执行通信原语,将主机 CPU 从关键路径中移除。它利用拓扑感知路径选择来优化数据移动,并采用包括 InfiniBand 和 NVLink 在内的基于 RDMA 的网络传输,以实现设备跨不同物理节点之间的零拷贝内存访问。 该项目涵盖了广泛的集合通信模式,包括归约(Reductions)、广播(Broadcasts)、收集(Gathers)和全对全交换(All-to-all exchanges),以及点对点远程内存访问。它提供全面的通信器管理,用于初始化、分区和调整 GPU 组大小,以及用于注册缓冲区和协调共享设备内存的专用内存管理。 该系统包括一套用于健康跟踪、诊断日志记录和实时事件监控的监控与可观测性工具,以及用于机器学习框架、CUDA Graphs、MPI 和 Python 的集成接口。
Exposes core high-performance communication primitives through a Python interface for easier integration into ML workflows.
matplotlib-cpp is a header-only C++ library and wrapper that enables the creation of 2D and 3D visualizations by calling Matplotlib functions directly from C++ code. It serves as a plotting interface for generating line plots, bar graphs, and surface charts using a Python-based backend. The library is designed as a lightweight integration that provides plotting capabilities without requiring a complex build process or compiled binaries. It covers a range of visualization capabilities, including multi-dimensional data rendering, vector field plotting, and the arrangement of multiple subplots.
Provides the mechanism to invoke Python plotting functions from within a compiled C++ environment.