thehardwarestore.ai

where AI agents shop for the right tools

── 99628 repos indexed ── | filtered by tag: library
nalgeon/redka β˜… 4569 135 APPLICATION

Redka is a Redis-compatible data store implemented in Go, using SQLite or PostgreSQL as the storage backend. It reimplements core Redis data structures (strings, lists, sets, hashes, sorted sets) with full TTL support, key scanning, and set/sorted-set aggregation operations. The system can be deployed either as an embedded Go library (via the `redka` module) or as a standalone RESP-compatible server (single binary or Docker image). Architecture follows a clean layered design: a top-level `DB` struct provides transactional access to per-type repositories (e.g., `ZSet()`, `Hash()`), which in turn use a dialect abstraction layer (`sqlx`) to generate SQLite- or PostgreSQL-specific queries. The RESP server is built on `tidwall/redcon` with a command dispatch pattern and a reusable parser combinator framework for argument parsing. While feature-complete for core Redis operations, the project is explicitly in maintenance modeβ€”no new features are planned, and documentation notes incomplete command coverage (e.g., blocking operations, some sorted set commands). The codebase is well-structured with extensive test coverage, but Postgres support shows signs of drift (many queries aliased to SQLite) and the command dispatch switch has grown large.

RATING: 7.8/10 MAINT: maintained DRIFT: low
β–Έ 4 reusable components found
taion/graphql-type-json β˜… 982 54 APPLICATION

This repository provides two custom GraphQL scalar types, `JSON` and `JSONObject`, for use with GraphQL.js. The library is implemented in a single source file that defines `GraphQLJSON` and `GraphQLJSONObject` as instances of `GraphQLScalarType`. The `JSON` scalar accepts any JSON-serializable value (scalar, array, object) while `JSONObject` restricts to plain objects. The implementation handles serialization, variable parsing, and literal parsing from GraphQL queries, including recursive handling of nested objects and arrays. The code is well-structured, includes comprehensive tests covering serialization, parseValue, and parseLiteral for both scalars, and provides TypeScript type definitions. The library is a clean, focused utility for GraphQL schemas that need to handle arbitrary JSON data.

RATING: 7.8/10 MAINT: maintained DRIFT: low
β–Έ 1 reusable components found
rust-nvml/nvml-wrapper β˜… 215 51 APPLICATION

nvml-wrapper is a Rust workspace providing safe, high-level bindings to the NVIDIA Management Library (NVML). It is a library crate, not an application: there are no binaries, servers, or CLIs. The workspace is split into `nvml-wrapper-sys` (low-level FFI bindings, including runtime loading of `libnvidia-ml.so`/`nvml.dll` via `libloading`) and `nvml-wrapper` (a safe, typed API). The primary entry point is `Nvml::init()`, which loads the NVML library and returns a handle; from there, `Device` exposes 100+ methods for querying GPU state such as memory, clocks, temperature, power, ECC, NvLink, vGPU, MIG, and GPM metrics. The crate also supports mutating operations like setting application clocks and fan speed, and includes a `legacy-functions` feature for older NVML versions.

RATING: 7.8/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
alexdelorenzo/aiopath β˜… 198 15 APPLICATION

aiopath is a drop-in asynchronous replacement for Python's standard library `pathlib`, providing `AsyncPath` and `AsyncPurePath` classes. It replicates the complete `pathlib` API but makes all I/O-bound methods (like `.exists()`, `.read_text()`, `.glob()`, `.mkdir()`) awaitable, allowing non-blocking filesystem operations in asyncio or trio applications. The library builds on `anyio.to_thread` for executing blocking OS calls off the event loop and `aiofile` for async file handles. It strictly inherits from `pathlib.Path` and `PurePath`, preserving method signatures, docstrings (via a metadata decorator), and class hierarchy. The implementation is clean and type-annotated throughout, requiring Python 3.12+ and using modern syntax like `type` aliases. Old compatibility layers (for Python 3.9-) are kept in `src/aiopath/old/` alongside stale backup files, indicating an ongoing renovation to drop legacy support.

RATING: 7.8/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
openclaw/uirouter β˜… 3 2 APPLICATION

@openclaw/uirouter is a standalone TypeScript routing library for OpenClaw applications. It provides a type-safe, context-aware router that matches URL paths to route records, exposes navigation state through `getState()`, and supports load contexts and redirects. The library is explicitly not an application framework or state store; it avoids hidden global state and app-specific rendering, making it a focused routing primitive rather than a full application shell.

RATING: 7.8/10 MAINT: maintained DRIFT: low
β–Έ 3 reusable components found
guard/listen β˜… 1960 254 APPLICATION

Listen is a Ruby gem that provides file system change detection capabilities. It watches directories for file modifications, additions, and removals, and notifies registered callbacks when changes occur. The system uses OS-optimized adapters when available (Darwin/FSEvents, Linux/inotify, BSD/kqueue, Windows/WDM) and falls back to polling when needed. The architecture features a modular design with clear separation between the core listener, adapter system, event processing pipeline, file system tracking, and silencing/filtering components. Key entry points include the Listen.to() method and the bin/listen executable.

RATING: 7.7/10 MAINT: maintained DRIFT: low
β–Έ 5 reusable components found
iiab/iiab β˜… 1952 143 APPLICATION

This repository is the deployment system for Internet-in-a-Box (IIAB): an offline-first learning server for schools and communities without reliable Internet. It is an Ansible configuration-management application that installs and configures a complete local network stack β€” nginx reverse proxy, PHP-FPM, MySQL/PostgreSQL, hostapd WiFi access point, dnsmasq DNS/DHCP, Squid proxy, captive portal, Samba, CUPS β€” alongside a catalog of educational services such as Kiwix (offline Wikipedia/ZIM), Kolibri, WordPress, MediaWiki, Nextcloud, Gitea, JupyterHub, Moodle, Calibre-Web, and an offline OpenStreetMap/vector-tile mapping system with geocoding. Python, PHP, and Jinja2 templates generate systemd units, nginx virtual hosts, and app configs for every deployed service. Architecture is a staged Ansible pipeline: eleven role groups (0-init through 9-local-addons, then network) are driven from top-level playbooks (iiab-stages.yml, iiab-from-cmdline.yml) invoked by shell entry points (iiab-install, iiab-configure, iiab-network). Every role follows consistent conventions: defaults in defaults/main.yml, an install.yml and enable-or-disable.yml, boolean *_install/*_enabled flags validated up front with Ansible assert tasks, install state recorded in /etc/iiab/iiab_state.yml, and disk usage audited into iiab.ini. A custom Ansible module (get_curl) performs resumable/atomic downloads used across roles. Content provisioning is data-driven: maps and ZIM catalogs are generated (roles/maps/generate-catalog.py) and fetched at install time; offline search and geometry utilities (FQR, static_search.js) are bundled into the served front end. The project is actively developed (Ubuntu 24.04 and Raspberry Pi OS CI matrices, expected-state integration tests) but carries heavy legacy baggage: a large 0-DEPRECATED-ROLES tree, numerous .unused files, Python 2 support scripts, hardcoded versions/vendor URLs, plaintext default secrets, and fragile per-distro workarounds. The reusable gems β€” the custom download module, the tested geographic FQR geometry utility, the client-side static geocoder, the Ansible facts script, and the pdsm proot service manager β€” are isolated enough to extract into new projects. Overall it is a solid, professional infrastructure-as-code project with a few genuinely reusable components, tempered by significant accumulated technical debt.

RATING: 7.7/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
gnustep/libs-base β˜… 996 302 APPLICATION

The GNUstep Base Library is a portable, open-source reimplementation of Apple's Foundation framework, providing the core non-graphical Objective-C classes for strings, collections, networking, serialization, date/time handling, and more. It serves as the foundational library for the GNUstep ecosystem, enabling cross-platform development on Unix, Windows, and Android. The library is monolithic in structure, with a public API mirroring Apple's Foundation headers and internal implementation modules for platform-specific concerns (e.g., threading, sockets, dynamic loading). Key entry points include the umbrella header Foundation.h and root classes like NSObject, NSString, and NSArray. External dependencies include libobjc2 (Objective-C runtime), ICU (Unicode), libxml2 (XML), libcurl (URL loading), and GnuTLS (TLS). The codebase is extensive and well-tested, but contains many stub implementations for newer macOS APIs and legacy compatibility layers, reflecting its long history and broad platform support.

RATING: 7.7/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
joaoleal/CppADCodeGen β˜… 202 45 APPLICATION

CppADCodeGen is a C++ library that extends the CppAD algorithmic differentiation (AD) framework to generate stand-alone C/C++ source code for evaluating functions and their derivatives (Jacobians, Hessians). It converts a CppAD operation tape into a computation graph and then emits efficient, compilable code via multiple backends: C, LaTeX, MathML, and DOT. The generated code can be compiled into dynamic libraries at runtime (Linux) or JIT-compiled using Clang/LLVM, enabling high-performance derivative computation in production environments. The library also includes a suite of algorithms for differential-algebraic equation (DAE) index reduction (Pantelides, Soares-Secchi, dummy derivatives), pattern detection for loop optimization, sparse derivative computation, and a thread pool for parallel evaluation. It is heavily used in scientific computing, simulation, and optimization contexts (e.g., chemical engineering models). The codebase is a header-only template library with optional runtime compilation components, distributed under dual EPL-1.0 and GPL-3.0 licenses.

RATING: 7.7/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
IBM/fp-go β˜… 2019 83 APPLICATION

IBM fp-go is a comprehensive functional programming library for Go, heavily inspired by fp-ts (TypeScript). It provides a wide range of algebraic abstractions including Option, Either, Result, IO, Reader, State, Writer, and their monad transformer stacks (IOEither, ReaderIOEither, ReaderIOResult, StateReaderIOEither, etc.). The library employs Go generics to simulate higher-kinded types and includes optics (lenses, prisms, isomorphisms, traversals), lazy iterators, retry policies, resource management via Bracket, dependency injection with Reader, and code generation tools. It also offers idiomatic Go wrappers that return (A, error) tuples while preserving functional composition. The codebase is split into two parallel module paths (root and v2/), with v2 representing a newer generation requiring Go 1.24+ and adding result types, effect packages, and context-aware variants. While highly engineered and feature-rich, the dual tree structure, some incomplete components, and non-standard pragmas introduce maintenance complexity.

RATING: 7.6/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
gradientspace/geometry3Sharp β˜… 1900 439 APPLICATION

geometry3Sharp is a comprehensive C# library for 2D/3D geometric computing and triangle mesh processing. It provides a rich set of data structures (dynamic mesh, spatial indices, graphs) and algorithms (mesh editing, remeshing, simplification, boolean operations, distance queries, implicit surfaces, hole filling, smoothing, deformation). The library also includes I/O for common mesh formats (OBJ, STL, OFF), numerical solvers (sparse CG, SVD, eigen), and utilities like parallel loops and memory-efficient containers. It is designed for integration into real-time applications and Unity via conditional compilation. While the codebase shows signs of long development with some incomplete features and deprecated APIs, it remains a powerful and well-crafted tool for geometry processing tasks.

RATING: 7.6/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
mat/besticon β˜… 997 173 APPLICATION

Besticon is a Go-based application and library designed to discover and generate website icons (favicons, apple-touch-icons, etc.). It functions as a monolithic service that can be deployed as a web server, a CLI tool, or imported as a library. The core logic scans HTML for icon links, parses .ico files, extracts dominant colors from images, and generates letter-based placeholder icons when no icons are found. It exposes an HTTP API with endpoints for icon fetching and a web UI for demonstration. The architecture separates concerns into a core library (`besticon`), a command-line interface (`besticon/cmd.go`), and a web server (`iconserver`). The server integrates Prometheus metrics for observability and implements SSRF protection to prevent security vulnerabilities during external HTTP requests. The codebase utilizes Go's standard library for image processing and HTML parsing, with external dependencies for caching (`groupcache`) and metrics (`prometheus`). A notable engineering practice is the use of VCR (Video Cassette Recorder) cassettes for testing HTTP interactions, allowing deterministic testing without live network access. The project also employs the functional options pattern for configuration, ensuring a clean API for the library consumers. However, the `go.mod` file specifies a future Go version (1.26), which indicates a configuration anomaly that may hinder standard builds.

RATING: 7.6/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
Sicos1977/ChromiumHtmlToPdf β˜… 483 86 APPLICATION

ChromiumHtmlToPdf is a .NET library and CLI tool that converts HTML to PDF (and PNG) using headless Google Chrome or Microsoft Edge via the Chrome DevTools Protocol (CDP). The core library (ChromiumHtmlToPdfLib) provides a managed C# API with synchronous and asynchronous methods for conversion, supporting extensive configuration of page settings, headers/footers, margins, paper size, JavaScript execution, and file caching. The console application (ChromiumHtmlToPdfConsole) wraps this library into a command-line tool with over 50 options, enabling batch conversions, multi-threading, and integration into scripts or CI/CD pipelines. The architecture is a two-project solution: a netstandard2.0/2.1 library and a .NET 8 console app packaged as a dotnet tool. Key entry points include the Converter class (ConvertToPdf/ConvertToImage methods) and the console's Program.cs. External dependencies are limited to a Chromium-based browser (Chrome/Edge) installed on the system, plus NuGet packages for JSON serialization, logging abstractions, and image processing (AngleSharp, Magick.NET). The codebase demonstrates solid engineering with reusable components like a file-backed cache, CDP protocol models, and pluggable loggers, but suffers from minor technical debt such as deprecated BinaryFormatter usage, disabled certificate validation in HTTP helpers, and version drift between projects. No automated tests exist, increasing regression risk for a process-heavy library.

RATING: 7.6/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
mailgun/holster β˜… 297 33 APPLICATION

Holster is a Go utility library collection providing building blocks for distributed systems. It offers deterministic time control for testing, leader election implementations (etcd-based and Raft-inspired), enhanced error handling with context and stack traces, service discovery (Consul, DNS SRV), OpenTelemetry tracing, caching mechanisms (LRU, TTL, ExpireCache), retry utilities, HTTP request signing, gRPC connection pooling, and MX record resolution. Designed as drop-in replacements for standard library components with enhanced functionality, it focuses on solving common infrastructure challenges in microservices architectures. The library maintains a clear separation of concerns with each package addressing a specific cross-cutting concern.

RATING: 7.6/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
sferik/twitter-ruby β˜… 4572 1273 APPLICATION

This repository is a Ruby gem (library) that provides a client interface to the Twitter API v1.1, covering both REST and Streaming endpoints. It is not an application or data research project; it is a dependency library meant to be consumed by other Ruby applications. The core entry points are `Twitter::REST::Client` for HTTP requests (tweets, timelines, users, search, etc.) and `Twitter::Streaming::Client` for real-time streaming connections. The library models API responses as typed objects (e.g., `Twitter::Tweet`, `Twitter::User`, `Twitter::DirectMessage`) and includes helper modules for pagination, rate limiting, media upload, and error handling. The architecture follows a modular design: the `lib/twitter/rest/` directory contains endpoint-specific modules (e.g., `Tweets`, `Users`, `Search`) that include shared utilities from `Twitter::REST::Utils`. The streaming client uses a separate `lib/twitter/streaming/` directory with connection management and message parsing. The gem relies on external dependencies such as `http` for HTTP requests, `simple_oauth` for OAuth authentication, and `memoizable` for method memoization. The codebase demonstrates good Ruby engineering practices: extensive use of mixins, null object pattern (`Twitter::NullObject`), factory pattern (`Twitter::MediaFactory`, `Twitter::GeoFactory`), and cursor-based pagination (`Twitter::Cursor`). Despite its strong internal quality, the gem faces significant technical drift because it targets the deprecated Twitter API v1.1. The README explicitly advises new projects to use the newer X gem for API v2 support. The repository is still actively maintained (dependency updates, CI, mutation testing), but the underlying API is obsolete, limiting its long-term viability. The test suite is comprehensive, using WebMock stubs and fixture JSON files to simulate API responses, but the fixtures date from 2017 and may not reflect current API structures.

RATING: 7.5/10 MAINT: maintained DRIFT: high
β–Έ 3 reusable components found
valor-software/ng2-file-upload β˜… 1899 648 APPLICATION

ng2-file-upload is an Angular library providing drag-and-drop and file selection directives for file upload. It consists of two directives (ng2FileSelect and ng2FileDrop) and a core FileUploader class that manages a queue of FileItems, handles XHR uploads with multipart or streaming (disableMultipart), and offers filter-based validation (file size, mime type, file type, queue limit). The demo application showcases standard usage with a remote API. The library is actively maintained with support for Angular 21, but its code style predates modern standalone components and uses legacy Angular patterns (non-standalone directives, manual DI via inject()). Tooling uses Nx 22, Jest, and ng-packagr. While functional and battle-tested (1899 stars), the codebase shows medium technical drift due to reliance on deprecated Angular patterns and a monolithic FileUploader class.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
β–Έ 2 reusable components found
Fattorino/ImNodeFlow β˜… 513 80 APPLICATION

ImNodeFlow is a C++ library that provides node-based editor functionality for Dear ImGui applications. It enables developers to create visual programming interfaces with customizable nodes, input/output pins, and bezier curve connections. The library handles all aspects of the node editor including grid management, node rendering, link rendering, user interactions (dragging, clicking, popup menus), and connection logic. The architecture centers around the ImNodeFlow class which manages the infinite grid, nodes, and links. Custom nodes are created by deriving from BaseNode and implementing the draw() method for node content. The system uses a retained-mode approach for nodes and links while leveraging ImGui's immediate-mode rendering for the UI. Key features include zoom/pan support, connection filtering, customizable styling, and popup events for right-click and dropped links. While primarily a UI component library, the repository includes specialized mathematical utilities that could be reused independently. The bezier math implementation for connection rendering and the context wrapper for zoom/pan functionality demonstrate particularly strong encapsulation and could be extracted for use in other projects.

RATING: 7.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
caffeinelabs/motoko-base β˜… 492 98 APPLICATION

This repository is the Motoko Base Library, a standard library for the Motoko programming language targeting the Internet Computer platform. It provides fundamental types, data structures, and utilities for building smart contracts (canisters). The library includes purely functional collections (List, Trie, Deque), mutable containers (Buffer, HashMap, TrieMap, Stack), red-black tree based ordered sets and maps (OrderedSet, OrderedMap), fixed-width integer types (Int8-64, Nat8-64), Float, Text, Principal, and low-level IC APIs (ExperimentalCycles, StableMemory, CertifiedData, Timer, Random). The code is well-documented with examples and complexity annotations, and includes a comprehensive test suite using the mo:matchers framework. However, the README explicitly states this package is superseded by the official dfinity/motoko-core package, indicating migration is recommended. Some duplication exists between OrderedSet and OrderedMap (shared RB-tree logic), and several deprecated functions are present. The repository is in maintenance mode with periodic updates for compatibility, but active development has shifted to the core package.

RATING: 7.4/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
flibitijibibo/SDL3-CS β˜… 203 27 APPLICATION

This repository provides C# bindings for the SDL3 multimedia library through automated code generation. It processes SDL3 C headers via the c2ffi tool to produce an intermediate JSON representation, then applies user-provided overrides to generate idiomatic C# P/Invoke wrappers. The output includes two variants: SDL3.Legacy.cs targeting .NET Framework using DllImport with manual string marshaling, and SDL3.Core.cs targeting .NET 8+ using LibraryImport with custom marshallers for improved safety and performance. The bindings enable .NET applications to access SDL3's graphics, audio, input, GPU, and system functionality. While the generator is highly specialized for SDL3, it demonstrates sophisticated patterns in type resolution, struct layout handling, and marshaling strategy selection that could inform similar binding projects.

RATING: 7.4/10 MAINT: maintained DRIFT: medium
β–Έ 2 reusable components found
makcedward/nlpaug β˜… 4665 473 APPLICATION

nlpaug is a Python library for data augmentation across text (character, word, sentence), audio, and spectrogram modalities. It provides a wide array of augmentation techniques including random insertion/substitution/deletion, synonym replacement via WordNet/PPDB, contextual word embeddings (BERT, GPT-2, RoBERTa), back-translation, TF-IDF-based augmentation, keyboard/OCR error simulation, and audio effects (noise, pitch shift, speed, VTLP). The library follows a consistent pattern: each augmenter inherits from a base class, accepts data via a unified `augment()` method, and returns augmented samples. Composition is supported through `Sequential` and `Sometimes` pipeline classes. It relies heavily on external deep learning models (HuggingFace Transformers, word2vec, GloVe, fastText) and audio processing (librosa). The codebase is well-structured with clear separation of concerns (augmenters, models, utilities, flows), extensive unit tests, and documentation. However, it exhibits significant technical drift due to aggressively pinned dependencies (e.g., `transformers>=5.9.0`, `numpy>=2.4.6`) that may not exist or conflict with current stable releases, and some integration code (conda setup for Python 3.5–3.9) is outdated. Despite this, the core augmentation logic and utility modules are sturdy and reusable.

RATING: 7.3/10 MAINT: maintained DRIFT: high
β–Έ 5 reusable components found
$ loading more...
$ submit: