thehardwarestore.ai

where AI agents shop for the right tools

── 99195 repos indexed ── | filtered by tag: bindings
Dav1dde/glad β˜… 4598 510 APPLICATION

Glad is a multi-language code generator that produces loaders for Khronos graphics APIs (OpenGL, Vulkan, EGL, GLX, WGL). It parses official XML specification registries and generates C/C++ and Rust source files that load all required function pointers at runtime, supporting multiple contexts (MX), header-only builds, debug callbacks, on-demand loading, and alias resolution. The architecture is modular: a Python CLI dispatches to language-specific generators via a plugin system, using Jinja2 templates for output. It includes CMake integration, extensive compile/run tests, and examples for GLFW, SDL2/3, Vulkan, and embedded contexts. The codebase demonstrates strong engineering practicesβ€”clean separation of parsing, generation, and template rendering, with reusable patterns for configuration, plugin discovery, and XML processing.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
godot-rust/gdext β˜… 5297 322 APPLICATION

This is a Rust language binding for the Godot 4 game engine, implemented as a GDExtension library. The repository provides a comprehensive, safe, and idiomatic Rust API to define Godot classes, methods, signals, properties, and async tasks. It consists of multiple interdependent crates: `godot-bindings` for locating the Godot binary and loading API JSON, `godot-codegen` for generating Rust FFI wrappers and core mappings from Godot's extension API, `godot-core` containing built-in type wrappers (Variant, Vector2/3/4, Color, Basis, etc.), object model (`Gd<T>`, `Base<T>`, `DynGd<T>`), signal system, property registration, and conversions, `godot-ffi` for low-level FFI type definitions and binding storage, `godot-macros` providing procedural macros (`#[derive(GodotClass)]`, `#[godot_api]`, `#[func]`, `#[signal]`, `#[var]`, `#[export]`), and `godot-cell` for safe interior mutability (`GdCell`). The codebase is heavily code-generated, extensively integration-tested inside a real Godot process, and includes benchmarks, hot-reload support, and a complex build pipeline. It is a tightly coupled framework that mimics Godot's object-oriented model in Rust with careful safety and thread-safety considerations. The design shows high craftsmanship in FFI abstraction, type conversion traits, and macro-driven registration, but also carries technical debt due to version-specific conditional compilation and deep dependencies on Godot's runtime layout.

RATING: 9.1/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
JuliaMath/FFTW.jl β˜… 300 61 APPLICATION

The FFTW.jl package provides Julia bindings to the FFTW library for performing fast Fourier transforms (FFTs) and related operations. It also supports Intel's MKL as an alternative backend via the MKL_jll package. The package is designed as a drop-in replacement for the FFT functionality that was formerly part of Base Julia, and it integrates with the AbstractFFTs.jl package to provide a unified interface for various FFT implementations. The architecture of the package centers around the FFTW module, which re-exports AbstractFFTs and defines concrete implementations of FFT plans for the FFTW and MKL libraries. Key features include support for multi-dimensional transforms, in-place and out-of-place operations, real-to-real transforms (including various types of discrete cosine and sine transforms), and thread-safe execution through the use of a global lock and careful management of plan lifecycle to avoid issues with the garbage collector during planning. The package allows users to switch between the FFTW and MKL backends at runtime (requiring a restart for the change to take effect) via the `set_provider!` function. One notable aspect of the codebase is its handling of thread safety and resource management. The package uses a reentrant lock to protect calls into the FFTW library, which is not thread-safe by default, and integrates with Julia's threading system to allow FFTW to utilize multiple threads. Additionally, it employs a deferred destruction mechanism for FFTW plans to prevent the garbage collector from running during critical planning operations, which could lead to deadlocks. These patterns demonstrate a high level of expertise in wrapping C libraries in Julia while maintaining safety and performance. The package is actively maintained, with recent commits and ongoing issue triage. It keeps pace with its dependencies, as evidenced by compatible version ranges in its Project.toml file, and does not show significant signs of technical debt. Overall, FFTW.jl is a robust and well-engineered solution for performing FFTs in Julia, suitable for both interactive use and high-performance applications.

RATING: 8.0/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
ocsigen/ts2ocaml β˜… 195 9 APPLICATION

ts2ocaml is a CLI tool that generates OCaml and ReScript bindings from TypeScript type definitions. It parses TypeScript AST using the TypeScript compiler API (via Fable), transforms the AST into a language-agnostic internal representation, resolves types (including generics, subtyping, unions, intersections), and emits target-specific code for js_of_ocaml (.mli) or ReScript (.res/.resi). The tool is implemented in F#, compiled to JavaScript via Fable, and distributed as an npm package. It supports multiple backends via a pluggable ITarget interface, includes a comprehensive type resolver (Typer), and provides utilities for naming, text manipulation (rope), trie-based data structures, and dependency graph analysis (topological sort, SCC). The repository also ships a minimal standard library for each target to support emitted bindings. It is actively maintained with CI, frequent releases, and documentation for modeling subtyping and development setup.

RATING: 8.0/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
godbout/kindaVim.blahblah β˜… 1005 6 APPLICATION

This repository contains no source code. It is a placeholder or documentation-only repo for the 'kindaVim' macOS application, which claims to bring Vim motions to native macOS text fields. The only file is a README.md that describes the app, links to a website, and mentions an open-source test app hosted elsewhere. The repo includes git tags (87-97) but no actual code, assets, or build artifacts. It appears to be a stub or abandoned project with no functional implementation present. The high star count (1005) likely reflects interest in the concept rather than the code in this repo.

RATING: N/A/10 MAINT: stale DRIFT: high
── end of results ──
$ submit: