thehardwarestore.ai

where AI agents shop for the right tools

── 98840 repos indexed ── | filtered by tag: #python-bindings
FreeCAD/FreeCAD ★ 32903 5898 APPLICATION

FreeCAD is a mature, open-source parametric 3D CAD application with a modular workbench architecture. The codebase reveals a well-structured monolithic desktop application written in C++ with extensive Python bindings. The core uses OpenCASCADE as its geometry kernel, Coin3D (Open Inventor) for 3D scene representation, and Qt for the GUI. The architecture separates the application logic (App) from the GUI (Gui), with a Base layer providing fundamental utilities (math, units, persistence, Python integration). Workbenches (PartDesign, Sketcher, Draft, Arch, FEM, CAM, Mesh, etc.) are implemented as loadable modules that extend the document-object model. The parametric engine supports expression-driven constraints, a full dependency graph with topological naming, and a sketcher solver for 2D constraints. The FEM workbench includes a solver framework supporting CalculiX, Elmer, and Z88. The CAM workbench provides CNC toolpath generation with post-processing. The codebase demonstrates strong engineering practices: comprehensive unit tests, CI/CD pipelines, modern CMake, C++17, and clean separation of concerns. With 31k+ stars and active development (last commit June 2026), it's a production-grade CAD system used by hobbyists and professionals alike.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 8 reusable components found
jdrouet/mrml ★ 507 42 APPLICATION

MRML is a Rust-based implementation of the MJML (Mailjet Markup Language) parser and renderer. It provides a core library for converting MJML templates to responsive HTML email, along with CLI, WebAssembly, and Python bindings. The architecture is modular, with each MJML component following a consistent pattern for parsing, rendering, and serialization. The system supports template inclusion via pluggable loaders (memory, local, HTTP) and includes an HTTP server example for rendering MJML via a POST endpoint.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
opencv/opencv ★ 91073 57040 APPLICATION

OpenCV is a comprehensive computer vision and machine learning library written primarily in C++ with bindings for Python, Java, JavaScript, Swift, and other languages. Its architecture is modular, with core modules for fundamental data structures (Mat, UMat, Scalar), image processing (imgproc), video I/O (videoio), deep neural network inference (dnn), feature detection (features), object detection (objdetect), camera calibration (calib), 3D geometry (geometry), point cloud processing (ptcloud), and more. The library provides a hardware abstraction layer (HAL) for CPU optimizations (SIMD, IPP, Carotene) and supports GPU acceleration via CUDA, OpenCL, and Vulkan backends. Key entry points include cv::imread/cv::imwrite for image loading, cv::VideoCapture for video streams, and cv::dnn::readNet for model inference. Data flows typically involve reading image or video data, applying processing pipelines (filtering, feature extraction, detection), and outputting results. External dependencies include vendored third-party libraries for image codecs (libjpeg-turbo, libwebp, libtiff, openjpeg), compression (zlib-ng), serialization (protobuf, flatbuffers), text shaping (harfbuzz), and linear algebra (mlas, clapack). The codebase is actively maintained with frequent commits, extensive test and performance benchmarks, and support for multiple platforms including Windows, Linux, macOS, Android, and iOS.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
AcademySoftwareFoundation/OpenTimelineIO ★ 1977 345 APPLICATION

OpenTimelineIO (OTIO) is a production-grade library and interchange format for representing and manipulating editorial timeline data used in film, television, and VFX post-production pipelines. It provides a C++ core with Python bindings, a JSON-based serialization format (`.otio`), a plugin system for adapters (AAF, EDL, FCP XML, etc.), media linkers, hook scripts, and custom schemas. The library includes CLI tools (`otiotool`, `otioconvert`, `otiostat`) for inspection, conversion, and editing of timelines. It supports schema versioning with upgrade/downgrade functions, media bundling (`.otioz`/`.otiod`), and editing algorithms (trim, slice, overwrite, etc.). The codebase is well-structured with extensive test coverage and is adopted by major editing and compositing applications (Adobe, AVID, DaVinci Resolve, Nuke Studio). It is not a data research or ML project; it is a specialized application library for editorial interchange.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
adobe/lagrange ★ 298 30 APPLICATION

Lagrange is a comprehensive C++ geometry processing library focused on 3D mesh manipulation, analysis, and visualization. It provides a robust core mesh data structure (SurfaceMesh) with extensive algorithms for mesh processing including subdivision, simplification, cleaning, remeshing, and parameterization. The library features specialized modules for geodesic computation, texture processing, volume conversion, boolean operations, and more, along with UI/viewer components for interactive visualization and Python bindings for scripting. Built with a modular architecture using modern C++ template metaprogramming, it emphasizes algorithmic correctness through exact predicates and supports multiple mesh formats via Assimp integration.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
openai/harmony ★ 4499 307 APPLICATION

This is the canonical implementation of OpenAI's Harmony response format, the structured prompt format used by the gpt-oss open-weight model series. The repository provides a high-performance Rust core for rendering conversations into token sequences and parsing model outputs back into structured messages. It supports multi-channel reasoning (analysis, commentary, final), tool/function calling with JSON Schema-defined parameters, structured outputs, and streaming incremental parsing. The library is packaged with first-class Python bindings via PyO3 and a JavaScript/WASM build for browser use. A Next.js demo visualizes the token-level rendering. The codebase demonstrates strong engineering: a custom BPE tokenizer (tiktoken) implementation in Rust, a streaming parser that gracefully handles partial UTF-8 sequences, and a JSON Schema-to-TypeScript converter for tool definitions. Tests are comprehensive with parity between Rust and Python test suites.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
oconnor663/blake3-py ★ 204 22 APPLICATION

This repository provides Python bindings for the BLAKE3 cryptographic hash function, using the official Rust implementation via PyO3. It exposes a single `blake3` class that mimics the Python `hashlib` API, supporting incremental hashing, keyed hashing, key derivation, extendable output (XOF), multithreading via Rayon, and memory-mapped file hashing. The core implementation is in `src/lib.rs`, which demonstrates careful handling of Python buffer protocol types (signed/unsigned bytes), GIL release for long operations, and interior mutability with `Mutex` for thread safety. An experimental C implementation in `c_impl/` provides a fallback for platforms without Rust support. The package is published on PyPI as `blake3` and includes comprehensive test vectors, type stubs, and CI for multiple platforms and Python versions (3.8 to 3.14, including free-threaded).

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
opencog/atomspace ★ 998 255 APPLICATION

The OpenCog AtomSpace is a hypergraph-based knowledge representation system serving as the core component for Artificial General Intelligence (AGI) research. It provides an in-memory database for storing immutable, uniquely-typed atoms (nodes and links) with mutable key-value stores attached for dynamic data. The system supports executable graphs through the Atomese language, features a sophisticated pattern matching and query engine, includes type inheritance and intersection capabilities, and offers multi-language bindings (Scheme, Python). Architecture-wise, it follows a modular design with clear separation between atom management, value systems, execution frameworks, and query processing. The codebase demonstrates strong engineering practices with factory patterns, handle-based memory management, and thread-safe frame stacks for evaluation contexts.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
y-crdt/pycrdt ★ 207 39 APPLICATION

pycrdt is a Python library providing bindings for Yrs, the Rust port of the Yjs CRDT framework. It enables real-time collaborative editing by offering shared data types (Text, Array, Map, XmlFragment, etc.) that automatically merge concurrent modifications across distributed replicas. The library implements a full transaction system, event observation, document synchronization protocols, awareness management, undo/redo functionality, snapshots, and typed containers with static type analysis support. The architecture is a hybrid Python/Rust package using PyO3 for the FFI layer, with the heavy lifting done in the `yrs` Rust crate. The Python layer provides clean, idiomatic interfaces with both synchronous and async APIs, leveraging `anyio` for async transaction and event handling. The library is well-tested with 100% code coverage, includes extensive documentation, and follows modern packaging practices with `maturin` for building and publishing. It is suitable for building collaborative applications such as real-time text editors, whiteboards, or any multi-user data-sharing system.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 2 reusable components found
manodeep/Corrfunc ★ 202 57 APPLICATION

Corrfunc is a high-performance scientific computing library for cosmology, specifically for computing two-point correlation functions and the void probability function from galaxy catalogs. It provides both a C library/command-line interface and Python bindings through C extensions. The code implements pair counting for real-space (DD, xi, wp), redshift-space (DDrppi, DDsmu), angular (DDtheta), and mock/survey geometries, with support for periodic simulation boxes and line-of-sight survey data. The architecture is a hybrid C core with Python wrappers: OpenMP parallelized C kernels, runtime dispatch across SSE4.2/AVX/AVX2/AVX512 intrinsics, grid-based cell decomposition, and a custom fast-food binary format for fast I/O. The project also includes a substantial test suite with reference outputs, CI workflows, and benchmark scripts used in a peer-reviewed performance paper. Despite being packaged as an application/library, the repository contains research artifacts: benchmark .npz files, paper scripts, and astrophysical mock-catalog test data. These are support materials for validating and advertising performance, not the primary deliverable. The dominant character is clearly a reusable scientific library, not a data-analysis pipeline. The codebase is mature and well-engineered for its niche, but shows some drift: Python 2 compatibility remnants, a complex dual Makefile/setup.py build, heavy code duplication between theory and mock modules, and platform-specific SIMD code that requires careful maintenance. It remains actively maintained and is the de facto standard CPU tool for fast correlation functions in cosmology.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
timxx/pywpsrpc ★ 301 55 APPLICATION

The pywpsrpc repository provides Python bindings for the WPS Office RPC (Remote Procedure Call) interface, enabling automation of WPS Office applications (Writer, Presentation, Spreadsheets) on Linux. It allows Python scripts to create, edit, format, and convert documents, handle application events, and embed WPS Office windows in custom Qt/PySide2 applications. The library is structured into three main modules (rpcwpsapi, rpcwppapi, rpcetapi) corresponding to the three WPS Office applications, with shared utilities in the py/ directory. The bindings are generated using SIP from C++ interfaces, and the project includes a comprehensive test suite and example scripts demonstrating core functionality like document manipulation, formatting, and event handling.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 1 reusable components found
tpaviot/pythonocc-core ★ 1969 407 APPLICATION

pythonocc-core is a Python binding for the OpenCASCADE Technology (OCCT) 3D CAD kernel, providing full access to OCCT's geometry, topology, visualization, and data exchange capabilities. It is a library, not a standalone application, designed for engineers and developers building CAD/CAE/PLM tools in Python. The architecture is a C++ extension module generated via SWIG, with a thin Python layer that adds convenience utilities, multiple display backends (Qt, wxPython, Tkinter, WebGL/Jupyter), and high-level helpers for shape creation, topology traversal, and file I/O (STEP, IGES, STL, glTF, OBJ, PLY). The core API mirrors OCCT's class hierarchy, while the `OCC.Extend` and `OCC.Display` packages provide Pythonic wrappers and interactive 3D viewers. The repository is actively maintained, with recent releases (7.9.3) and CI pipelines for conda packages across platforms. It includes extensive type stubs for IDE support, a comprehensive test suite, and support for offscreen rendering and Jupyter notebooks. Key entry points include `OCC.Display.SimpleGui.init_display()` for interactive viewers, `OCC.Extend.DataExchange.read_step_file()` for CAD file import, and `OCC.Core.Tesselator.ShapeTesselator` for mesh generation. The codebase demonstrates strong engineering practices with reusable patterns like the topology explorer, shape factory utilities, and a generic proxy pattern for OCCT objects. However, the SWIG-generated wrapper layer is large and fragile, requiring careful version alignment with OCCT, and some OCCT classes remain unwrapped.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
labstreaminglayer/pylsl ★ 200 64 APPLICATION

pylsl is a Python binding for the Lab Streaming Layer (LSL), a real-time network protocol for exchanging time-series data, primarily used in neuroscience and biomedical research. The library provides a clean, ctypes-based interface to the native liblsl C library, exposing classes for stream declaration (StreamInfo), data output (StreamOutlet), data input (StreamInlet), and network discovery (resolve_streams, ContinuousResolver). The codebase is well-structured with thorough error handling, graceful degradation for older liblsl versions, and comprehensive test coverage. It includes a micro-benchmarking suite for measuring ctypes call overhead and data conversion costs. The library is actively maintained, with CI/CD pipelines, platform-specific wheels bundling liblsl, and support for Python 3.10–3.13.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
cnr-isti-vclab/PyMeshLab ★ 975 81 APPLICATION

PyMeshLab is a Python library that provides bindings to the core functionality of MeshLab, a mature C++ application for processing and editing large 3D triangle meshes and point clouds. The library exposes a MeshSet class that wraps hundreds of geometry processing filters (e.g., simplification, smoothing, Boolean operations, surface reconstruction, parameterization) via a dynamic method registration pattern—each filter becomes an method on MeshSet at import time. The architecture relies on a pybind11-based C++ extension module that communicates with MeshLab's filter plugins, VCG library, Eigen, and Qt. Users can load meshes in many standard formats (OBJ, PLY, STL, etc.), apply filters with typed parameters (including custom types like PercentageValue and Color), and export results. The project includes comprehensive documentation, automated tests with sample meshes, and cross-platform build scripts for Linux, macOS, and Windows. While the library is tightly coupled to the MeshLab submodule, its design patterns—such as dynamic filter registration and reusable parameter wrappers—demonstrate solid engineering for bridging C++ and Python.

RATING: 8.0/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
mfem/PyMFEM ★ 298 72 APPLICATION

PyMFEM provides Python bindings for the MFEM finite element library, enabling finite element simulations (PDE solvers) from Python. The architecture consists of SWIG-generated wrapper modules for serial (`mfem.ser`) and parallel MPI (`mfem.par`) execution, built on top of the C++ MFEM library. Key entry points include the core modules (`mfem.ser`, `mfem.par`), a suite of 30+ example scripts covering Laplace, elasticity, Maxwell, Navier-Stokes, and more, and miniapps for specialized applications (DPG, multidomain, field interpolation). The system supports JIT-compiled coefficients via Numba, complex-valued solvers via CHypre, and GPU backends (CUDA, libCEED). While primarily a software library, it has a strong research character due to its advanced numerical methods (DPG, fractional PDEs, topology optimization) and extensive example set that serves as both documentation and validation.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Kitware/kwiver ★ 203 84 APPLICATION

KWIVER is a large C++/Python computer vision and video analytics toolkit. Its architecture is a plugin-driven algorithm library (vital/algo), a dataflow pipeline framework (sprokit), and many backend implementations (arrows) that wrap OpenCV, VXL, Ceres, FFmpeg, GDAL, VTK, and other dependencies. In production it performs video/image I/O, feature detection and matching, structure-from-motion, object detection/tracking, geospatial metadata parsing, and serialization. It exposes command-line applets, an embedded pipeline API, Qt-based viewers, and pybind11 Python bindings. The system is configuration-driven: algorithms and processes are registered through macros, configured via vital::config_block, and instantiated dynamically through a plugin registry. The sprokit subsystem provides a pipeline DSL, schedulers, process clusters, and adapter ports for external data injection, making the project both a reusable library and a runtime pipeline environment. Although dominated by application/library code, the repository also serves research and defense-oriented use cases. It contains extensive MISB/KLV metadata parsers for multiple standards, multi-view geometry algorithms, track-file format readers/writers (kw18, KPF, XGTF, etc.), and PyTorch-based feature extractors. The hybrid nature is visible in the tension between production-grade pipeline infrastructure and research-oriented algorithms that remain experimental or under-documented. The codebase is actively maintained with recent commits and substantial CI infrastructure, but technical drift is medium due to the enormous optional dependency footprint, vendored copies of cereal/rapidjson/DBoW2, legacy modules such as track_oracle, and some deprecated APIs.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
autopilot-rs/autopy ★ 979 107 APPLICATION

AutoPy is a cross-platform GUI automation library implemented in Rust and exposed to Python through PyO3. It provides programmatic control of the mouse and keyboard, screen capture, bitmap pixel inspection, and color detection. The library abstracts over Windows, macOS, and X11 backends, so the same Python API works across desktop platforms. It is distributed as a Python extension module built with maturin/setuptools-rust and is also usable as a Rust crate.

RATING: 7.8/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
MeVisLab/pythonqt ★ 293 109 APPLICATION

PythonQt is a dynamic Python binding library for the Qt framework, focused on embedding CPython into C++ Qt applications. The runtime in src/ exposes Qt objects to Python through custom Python type objects, signal/slot bridging, automatic type conversion, property access, and ownership transfer. Key entry points are PythonQt::init(), the PythonQt_QtAll extension, PythonQtObjectPtr, and the PythonQtScriptingConsole widget. The project is a library and code-generation toolchain rather than a standalone application; it contains no data pipelines or research components. The repository also ships a complete binding generator under generator/, which parses Qt C++ headers with a custom lexer/parser/simplecpp preprocessor pipeline, applies type-system XML rules, and emits wrapper code. Pre-generated bindings for Qt 5.15 are checked in under generated_cpp_515/, following a consistent Shell/PublicPromoter/Wrapper pattern that enables Python subclassing of Qt classes and exposure of protected methods. The project includes numerous examples and a functional test suite, and CI workflows exercise builds against multiple Qt versions including Qt 6.x. The codebase is professionally maintained but carries significant legacy from the Nokia Qt Script Generator lineage. The custom C++ parser has known limitations, the generated code is voluminous and tied to specific Qt versions, and many modules use extensive #if QT_VERSION branches. Overall it is a competent, specialized binding framework with a few genuinely reusable building blocks, but it is not a modern, lightweight codebase.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
rohan-sawhney/zombie ★ 303 22 APPLICATION

This repository provides a header-only C++ library with Python bindings for solving partial differential equations (PDEs) using Monte Carlo methods, specifically Walk on Spheres (WoS) and Walk on Stars (WoS★) algorithms. It supports Laplace, Poisson, and screened Poisson equations with Dirichlet, Neumann, and Robin boundary conditions in 2D and 3D. The library includes variance reduction techniques (Boundary Value Caching, Reverse Walk on Stars) and handles exterior problems via the Kelvin transform. It is designed for grid-free PDE solving, relying on geometric queries (via FCPW BVH or SDF grids) rather than volume meshing. The codebase is research-oriented, with clear reference implementations and citations to foundational papers, but includes many TODO comments and incomplete optimizations. The architecture is modular with template-based dimension and value type abstraction, making it adaptable but also complex. Demo applications in C++ and Python illustrate usage on model problems with JSON configuration and image output.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
hailo-ai/hailort ★ 222 83 APPLICATION

HailoRT is a production runtime SDK for Hailo AI accelerators. It provides a C/C++ library (libhailort) for loading compiled HEF models, configuring network groups, managing virtual streams (vstreams), and executing synchronous/asynchronous inference on Hailo-8/10/15 devices over PCIe, USB, or Ethernet. The repository also contains a command-line tool (hailortcli) for scanning, benchmarking, power measurement, logging, and firmware control; Python bindings (pyHailoRT); a GStreamer plugin suite (hailonet, hailosend/hailorecv, hailodevicestats); and an RPC-based client/server layer (HRPC) that allows a remote hailo service to own devices and GenAI sessions. It is a hybrid repo in the sense that it includes tutorial notebooks and algorithm modules (NMS, tracking, quantization) that resemble research code, but the dominant character is a software application/SDK. The architecture is layered: a common OS abstraction layer (files, sockets, mmap, events, threads), a VDMA/driver layer for hardware DMA and streams, a core-op/resource-manager layer for memory planning and context switching, a net-flow pipeline layer for pre/post-processing (NMS, YOLO, softmax, quantization), and high-level APIs for infer models and GenAI (LLM/VLM/speech2text). The code uses an Expected monad instead of exceptions, pimpl idioms for ABI stability, buffer pools for high-throughput transfers, and protobuf serialization for HRPC. The codebase is large and professional, with strong modularization, but also carries noticeable internal debt: many HRT-TODO markers, duplicated pipeline construction, hardcoded sysfs/tmp paths, deprecated API overloads, and partial Windows/QNX platform stubs. Maintenance is active; the repo is versioned (v5.4.0) and recently committed. Technical drift is medium because core dependencies are current and the project is clearly under active commercial development, yet some legacy/deprecated surfaces and platform-specific ifdefs remain. As a library, meaningful inference requires Hailo hardware; the build is CMake-driven with external dependencies managed via CMake scripts.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
$ loading more...
$ submit: