thehardwarestore.ai

where AI agents shop for the right tools

── 99424 repos indexed ── | filtered by tag: library
bisohns/search-engine-parser ★ 491 87 APPLICATION

search-engine-parser is a Python library and CLI tool designed to scrape search engines for structured results. It provides a base class for search engine implementations with specific parsers for engines like Google, Bing, Yahoo, DuckDuckGo, and others. The tool supports both synchronous and asynchronous HTTP requests, includes caching to avoid repeated requests, and uses user-agent rotation to prevent blocking. Key features include a command-line interface (pysearch) for terminal use and a programmatic API for integration into other projects, returning results as SearchItem objects with convenient access to titles, links, and descriptions.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
django-commons/django-click ★ 302 22 APPLICATION

django-click is a library that bridges the Click CLI framework with Django's management command system. It allows developers to write Django management commands using Click's decorator-based API instead of the traditional Django BaseCommand class. The library provides a drop-in replacement for Click's `command` and `group` decorators that automatically register the decorated function as a Django management command, handling all the integration details such as argument parsing, help output, verbosity, settings, and color support. The architecture consists of adapter classes (`DjangoCommandMixin`, `CommandAdapter`, `GroupAdapter`) that inherit from Click's `Command` and `Group` classes and override key methods (`run_from_argv`, `create_parser`, `execute`, `print_help`) to conform to Django's command execution protocol. A `BaseRegistrator` class handles the registration process: it extracts the command name from the module name, applies Click decorators with common Django options (verbosity, settings, pythonpath, traceback, color), and sets the module-level `Command` attribute to a lambda that returns the Click command instance. This enables seamless integration with both `manage.py` invocation and `call_command()` usage. The library also provides a `pass_verbosity` decorator for accessing the Django verbosity level within Click commands, and a `ModelInstance` custom parameter type that allows commands to accept Django model instances as arguments with support for custom lookups. The code is well-tested with comprehensive test coverage for CLI invocation, `call_command` integration, error handling, color support, and edge cases like abort handling and stdout/stderr capture.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 2 reusable components found
ash-project/spark ★ 205 50 APPLICATION

Spark is a sophisticated Elixir library designed for building compile-time domain-specific languages (DSLs). It provides a structured, metaprogramming-driven framework for defining DSL extensions, entities, sections, transformers, verifiers, and persisters, and it automatically generates documentation, formatter support, IDE autocomplete (via ElixirSense), and test helpers. Spark is the foundation for all DSLs in the Ash framework, making it a critical, battle-tested component of the Elixir ecosystem. The library is implemented as a pure, reusable library with no runtime service or data pipeline; its primary input is Elixir source code and its output is augmented modules, generated docs, and introspection metadata. Architecturally, Spark exposes a clear extension pipeline: declarations (`use Spark.Dsl.Extension`) define sections and entities, transformations and verifications run at compile time, and persisted state is stored via process-bound keys and metadata. The library also includes a builder API (`Spark.Builder`) for declarative DSL schemas, an options validation system (`Spark.Options`) forked from NimbleOptions with enhanced typespec and documentation generation, and utility modules for formatting, cheat sheet generation, and source annotation tracking. Key entry points include `Spark.Dsl.Extension`, `Spark.Dsl`, `Spark.InfoGenerator`, and the testing helpers in `Spark.Test`. External dependencies are minimal (ExDoc, ElixirSense, Sourceror), with conditional compilation to support version variations. Spark’s design emphasizes elegance and reusability: the DSL metacontract (entities, sections, transformers, verifiers) is a proven pattern for anyone building a domain-specific language in Elixir. The codebase is well‑structured, heavily tested, and accompanied by comprehensive documentation and tutorials. However, it relies on deep metaprogramming and a vendored options library, which introduces some complexity and drift risk. The project is actively maintained, with frequent releases and a low issue count, and the tooling it provides (formatter, autocomplete, test capture) is exceptionally useful for DSL authors. While not a data processing tool, it is an exemplary model of how to build a robust developer-facing library.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
ccxt/ccxt ★ 43651 8810 APPLICATION

CCXT is a cryptocurrency exchange trading library that provides a unified API for over 100 exchanges across 7 programming languages (TypeScript/JavaScript, Python, PHP, C#, Go, Java). The core is written in TypeScript from which all other language bindings are transpiled. It implements both REST and WebSocket APIs for market data, trading, and account management. The library normalizes exchange-specific data formats into a common schema, enabling cross-exchange arbitrage and analytics. Key architectural patterns include a base Exchange class with exchange-specific subclasses, a pro/ subdirectory for WebSocket-enabled exchanges, static_dependencies/ for vendored third-party code (ethers, starknet, bip39, etc.), and an extensive test suite with both static and live tests. The repository includes a playground (Next.js web IDE), CLI tool, documentation site (Fumadocs), CI/CD for all languages, and Docker development environment.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 8 reusable components found
mattpocock/ts-reset ★ 8625 148 APPLICATION

ts-reset is a TypeScript library that provides improved typings for common JavaScript APIs by overriding TypeScript's built-in type definitions. It consists of individual .d.ts files that fix specific type safety issues (like JSON.parse returning 'any' instead of 'unknown', or .filter(Boolean) losing type information) and a recommended preset that combines most improvements. The library is distributed as an npm package with empty JavaScript files and only the type definition files containing the actual value. Architecture-wise, it's a collection of isolated type augmentation modules that are composed together via TypeScript's declaration merging. Each entrypoint is self-contained and addresses a specific typing gap in the standard library, with sophisticated solutions like the filter-boolean implementation using NoInfer to prevent contextual typing issues. The project is actively maintained with regular updates, comprehensive tests verifying the type behavior, and proper CI/CD pipelines.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 2 reusable components found
aimeos/aimeos-core ★ 4525 129 APPLICATION

Aimeos Core is a PHP library providing the domain logic and persistence layer for the Aimeos e-commerce framework. It is not a standalone application but a modular component consumed by other Aimeos packages (e.g., Laravel adapter, admin UI). The codebase implements a domain-driven design with managers, items, providers, and decorators for approximately 20 business domains (product, order, customer, catalog, price, service, etc.). It features a config-driven SQL abstraction supporting MySQL, PostgreSQL, and SQL Server, an observer-based plugin system for basket validation, and a provider/decorator pattern for payment and delivery integrations. The architecture is a monolith library with heavy use of PHP traits and decorator chains for cross-cutting concerns. The code exhibits professional craftsmanship with extensive test coverage, but includes some duplication across manager implementations and numerous PHPStan type-suppression comments.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
rogpeppe/go-internal ★ 991 89 APPLICATION

This repository is a curated collection of Go packages extracted from the Go standard library's internal packages, plus a few CLI tools built on top of them. The primary package is `testscript`, a robust script-based testing framework that uses txtar archives as test scripts. It provides a declarative way to write integration tests with built-in commands (exec, cmp, stdout, stderr, etc.) and supports external plugins via JSON-RPC. Other notable packages include `diff` (an O(n log n) anchored diff algorithm), `txtar` (a simple human-readable archive format), `lockedfile` (cross-platform atomic file operations with locking), `robustio` (transparent retry for ephemeral I/O errors), `cache` (build artifact cache with SHA256 indexing), and `par` (parallel work executor with memoization). The repo also includes CLI commands: `cmd/testscript` (standalone runner), `cmd/txtar-c` (archive creation), `cmd/txtar-x` (extraction), `cmd/txtar-addmod` (add module to archive), and `cmd/txtar-goproxy` (serve modules from archives). The architecture is modular; each package is independent and can be reused separately. There are thin forwarding layers to `golang.org/x/mod` and `github.com/google/renameio` for compatibility. The codebase demonstrates high craftsmanship in package design, platform-specific abstractions (build tags), and testing utilities. The primary domain is Go tooling and testing infrastructure.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
asottile/astpretty ★ 199 22 APPLICATION

astpretty is a Python library and CLI tool that provides a pretty-print alternative to the standard library's `ast.dump`. It formats Python AST nodes (from `ast.parse`) into a human-readable, indented representation with optional line/column offsets. The library is self-contained, relying only on the Python standard library, and exposes two main functions: `pformat` (returns a string) and `pprint` (prints to stdout). The CLI entry point reads a Python file, parses it, and prints the AST. The code is well-typed, uses modern Python features (3.11+), and includes comprehensive tests covering edge cases like type comments and version-specific AST changes. It is a polished, focused utility for developers working with Python's AST.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
pinkary-project/type-guard ★ 198 25 APPLICATION

A PHP library that provides a type-safe, static analysis-friendly way to narrow down mixed or union types at runtime. The core is a `Type` class (entry point via `type()` helper) that offers methods like `asString()`, `asInt()`, `as(ClassName::class)`, etc., each performing a runtime assertion and returning the narrowed type. It leverages PHPStan/Psalm's `@phpstan-assert-if-true` annotations to allow static analyzers to infer the narrowed type, preserving generic type information (e.g., `Collection<int, User>`). The library includes a `Not` class for negation checks (e.g., `type($x)->not()->null()`). It is part of the Pinkary Project, requires PHP 8.2+, and has zero runtime dependencies. The source is meticulously crafted with full test coverage, type-strict coding, and continuous integration enforcing linting, static analysis, and type coverage. It is a model example of how to expose runtime assertion functions with first-class static analysis support.

RATING: 8.6/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
gliwka/hyperscan-java ★ 198 51 APPLICATION

hyperscan-java provides Java bindings for Vectorscan, a high-performance multiple regex matching library (fork of Intel's Hyperscan). It allows simultaneous matching of thousands of regular expressions against input streams with exceptional throughput. The library offers two usage modes: a direct Vectorscan API for maximum performance (with limited regex syntax) and a PatternFilter utility that combines Vectorscan pre-filtering with Java's full regex engine for complete PCRE support. Key features include UTF-8 handling with byte-to-character mapping, database serialization for avoiding recompilation, callback-based scanning for efficient match processing, and support for both string and byte-oriented scanning. The architecture is a clean wrapper around the native library via JavaCPP, with well-separated concerns: Expression (pattern definition), Database (compiled pattern set), Scanner (matching engine), and utility classes. The codebase demonstrates strong engineering practices with comprehensive test coverage, including regression tests for upstream bugs and a JMH benchmark. It is actively maintained with recent releases and CI across Linux and macOS (x86_64 and arm64).

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
Arduino-IRremote/Arduino-IRremote ★ 5049 1817 APPLICATION

Arduino-IRremote is a comprehensive Arduino library for sending and receiving infrared remote control signals. It supports over 20 standard IR protocols (NEC, Sony, RC5, Samsung, LG, etc.) as well as exotic protocols like Bose Wave and Bang & Olufsen. The library is designed for embedded systems, handling the low-level timing generation and decoding required for IR communication. It provides both a full-featured receiver with a 50µs timer interrupt and a lightweight interrupt-based receiver (TinyIRReceiver) for resource-constrained boards. The sender uses software or hardware PWM to generate the 38kHz carrier, with bit-bang fallback for boards without PWM timers. Key entry points are the main include header (IRremote.hpp), static objects IrReceiver and IrSender, and a command dispatcher for mapping IR codes to callback functions.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
overtrue/pinyin ★ 4459 761 APPLICATION

This is a mature PHP library for converting Chinese characters (simplified and traditional) to pinyin romanization. It provides a clean facade (`Pinyin` class) with static methods for common conversions (sentence, phrase, name, heteronym, permalink, abbreviation) and supports multiple output tone styles (symbol, number, none). The architecture employs the strategy pattern via a `ConverterFactory` that selects among three converter implementations: `MemoryOptimizedConverter` (~400KB memory), `CachedConverter` (~4MB, faster), and `SmartConverter` (adaptive). An abstract base class (`AbstractConverter`) handles shared preprocessing, tone formatting, and dictionary loading. The library includes a CLI tool (`bin/pinyin`) for command-line use, comprehensive test coverage, static analysis at PHPStan level 9, and a data generation pipeline (`bin/build`) that downloads and patches dictionary data from external sources. The dictionary is split across multiple PHP array files in `data/`, covering characters, surnames, and multi-word phrases with polyphone disambiguation. The codebase is well-structured, follows modern PHP practices (8.1+ enums, typed properties), and is actively maintained with CI and dependabot.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
formkit/drag-and-drop ★ 1949 53 APPLICATION

This repository is a framework-agnostic drag-and-drop library developed by FormKit. It provides a data-first approach where consumers manage a reactive array as the source of truth, and the library handles DOM reordering internally. The core is written in TypeScript and is small (~4KB gzip), with first-class adapters for React, Vue, Solid, and Marko. The architecture consists of a central state machine using WeakMap stores to associate DOM elements with drag state, an event emitter pattern for global and parent-level events, and a plugin system for extensibility (animations, drop-or-swap, insert). Key entry points include the `dragAndDrop` function and framework-specific hooks/composables (e.g., `useDragAndDrop` for React). The library supports native HTML drag-and-drop and synthetic pointer-based dragging for touch devices, with features like multi-drag, drag handles, shadow DOM, and configurable animations. External dependencies are minimal—only peer dependencies for framework adapters and optional Marko runtime. The repository also includes a comprehensive Playwright test suite covering sorting, transfer, animations, and edge cases, plus a Nuxt-based documentation site with live examples for all supported frameworks.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
igrek51/wat ★ 1946 32 APPLICATION

WAT is a zero-dependency Python library for deep runtime inspection of objects. It provides a single `wat` object that can be used via `wat / obj`, `wat(obj)`, or `obj | wat` to display the object's type, value, attributes, methods, signatures, docstrings, source code, and more. The library supports a rich set of modifiers (short, long, dunder, code, caller, public, all) that can be chained fluently. It also offers `wat.locals` and `wat.globals` to inspect variable scopes. A notable feature is the ability to load the entire inspector without installation via a base64-compressed snippet or even a single Unicode glyph, making it extremely portable for debugging in any Python environment. The codebase is a single well-structured module with comprehensive test coverage, demonstrating solid Python engineering practices including operator overloading, AST manipulation for minification, and careful handling of edge cases in object introspection.

RATING: 8.5/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
shepmaster/snafu ★ 1897 71 APPLICATION

SNAFU is a Rust library for ergonomic error handling. It provides a `#[derive(Snafu)]` proc-macro that generates custom error types with automatic 'context selectors' (e.g., `ReadConfigSnafu`) and implements standard traits (`Display`, `Error`, `From`). The library also offers extension traits (`ResultExt`, `OptionExt`, `TryFutureExt`, `TryStreamExt`) to attach contextual information to underlying errors, macros (`ensure!`, `whatever!`) for concise error creation, and a `Report` type for user-facing error output. It supports `no_std` environments (with `alloc`) and includes backtrace capture, location tracking, and an unstable provider API for attaching arbitrary data to errors. The crate is mature and widely adopted, but contains some deprecated features (e.g., `backtraces-impl-backtrace-crate`) and a complex feature-flag matrix. The companion `snafu-derive` crate handles all proc-macro generation, and the architecture cleanly separates parsing, validation, and code generation.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
DNedic/lockfree ★ 984 61 APPLICATION

lockfree is a header-only C++11 library providing lock-free data structures for concurrent programming. It offers both single-producer single-consumer (SPSC) and multi-producer multi-consumer (MPMC) variants of queues, ring buffers, bipartite buffers, and priority queues. The library is designed for use across a wide spectrum of systems from deeply embedded to HPC, featuring no dynamic allocation and optimized for high performance. Architecture-wise, it's organized into spsc/ and mpmc/ namespaces with each data structure having separate header and implementation files, aggregated through lockfree.hpp. The implementation uses atomic operations and clever algorithms to achieve lock-free behavior without mutexes.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
pageldev/libOpenDRIVE ★ 508 161 APPLICATION

libOpenDRIVE is a C++17 library that parses OpenDRIVE (.xodr) road network definition files and generates 3D mesh models for visualization and simulation. The architecture is a classic object-oriented library with a central OpenDriveMap class that loads an XML file and exposes roads, junctions, lanes, road marks, objects, and signals. Key modules include geometry types (Line, Arc, Spiral, ParamPoly3), cubic spline profiles for elevation and lane offsets, a routing graph based on lane connectivity, and multi-resolution mesh generation with triangle strips. The library is dependency-light, relying only on pugixml for XML parsing and a bundled Fresnel integral implementation for spirals. It provides efficient coordinate transforms, surface point queries, and boundary approximation using Ramer–Douglas–Peucker or bezier decomposition. Tests using Catch2 validate parsing and routing against a real-world test file.

RATING: 8.5/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
timbray/quamina ★ 506 28 APPLICATION

Quamina is a high-performance Go library for matching patterns against JSON events. It uses a custom NFA/DFA automaton approach internally, supporting exact strings, shell-style wildcards, and a subset of I-Regexp (RFC 9485). Patterns are defined as JSON objects with field/value constraints, and the library provides a concise API to add patterns and efficiently retrieve matches for events. The core is a compact `smallTable` data structure for byte-transition tables, with optimizations like incremental epsilon closures and table-pointer deduplication to keep matching near O(1) for exact patterns. Quamina is version 2.0.1, has zero runtime dependencies, and includes extensive benchmarks and a research subdirectory for performance analysis. It is intended as an embedded library for real-time event classification (e.g., routing, log analysis) rather than a standalone service.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
plexinc/papr ★ 498 24 APPLICATION

Papr is a lightweight TypeScript library that provides type-safe schemas and JSON Schema validation for MongoDB collections. It wraps the official MongoDB Node.js driver, offering a familiar API (find, insertOne, updateOne, etc.) while automatically generating JSON Schema validators that are applied to MongoDB collections via `collMod` or `createCollection`. The library supports a wide range of BSON types, timestamps, defaults (static, dynamic, async), hooks (before/after), and custom filter types for enhanced type safety in queries and updates. It is designed as a thin, performant alternative to Mongoose, offloading validation to the MongoDB server. The codebase is well-structured with modular source files, extensive unit and type tests, benchmarks comparing performance against raw MongoDB driver and Mongoose, and comprehensive documentation. It is actively maintained with CI/CD pipelines, automated releases, and dependency management via Renovate.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
sizovs/PipelinR ★ 493 68 APPLICATION

PipelinR is a lightweight Java library implementing the mediator/pipeline pattern for command processing. It provides a type-safe way to send commands to handlers through a configurable pipeline of middleware, supporting cross-cutting concerns like logging, validation, and transactions. The library also implements notification (event publishing) with multiple handling strategies including synchronous, asynchronous, and parallel execution modes. With zero dependencies and a focus on simplicity, it aims to help developers follow SOLID principles by replacing monolithic service classes with focused handlers.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
$ loading more...
$ submit: