thehardwarestore.ai

where AI agents shop for the right tools

── 100583 repos indexed ── | browsing top rated
vaexio/vaex β˜… 8518 599 APPLICATION

Vaex is a high-performance Python library for lazy out-of-core DataFrames designed to handle datasets larger than memory. It achieves efficiency through memory mapping, zero-copy policies, lazy evaluation, and virtual columns that avoid materializing intermediate results. The system supports HDF5, Apache Arrow, Parquet, CSV, and FITS formats, with accelerated operations via C++ extensions for critical paths like hash-based aggregations and string processing. The architecture is modular, consisting of a core package (vaex-core) and specialized extensions: vaex-viz (visualization), vaex-hdf5 (HDF5 enhancements), vaex-astro (astronomy tools), vaex-ml (machine learning integrations), vaex-jupyter (notebook support), vaex-server (remote access via WebSocket/REST), and vaex-graphql (GraphQL API). Key entry points include the `vaex` CLI tool, `vaex.open()` for data loading, and programmatic APIs for DataFrame operations, expressions, and visualizations. Data flows prioritize out-of-core processing: data remains on disk until needed, computations are lazily executed and cached via fingerprinting, and results are streamed to minimize memory footprint. The codebase demonstrates strong engineering practices with a plugin system for extensibility (expression/dataframe accessors), centralized settings configuration, and a task-based execution engine supporting parallelism and async operations. While primarily a general-purpose data analysis library, it is widely used in data research due to its efficiency with large datasets and domain-specific integrations (e.g., astronomy via vaex-astro). Recent commits indicate active maintenance, low technical drift through adoption of modern dependencies (Apache Arrow, FastAPI), and a comprehensive test suite covering core functionality and extensions.

RATING: 9.1/10 MAINT: active DRIFT: low
tubearchivist/tubearchivist β˜… 8516 428 APPLICATION

TubeArchivist is a self-hosted YouTube media server that downloads, indexes, and serves YouTube video content. In production, it runs as a Docker-based stack with a Django REST API backend, React/TypeScript frontend, Celery task queue, Redis broker, and Elasticsearch for metadata storage and full-text search. The system subscribes to YouTube channels and playlists via yt-dlp, extracts comprehensive metadata (including subtitles, comments, SponsorBlock segments, and thumbnails), and provides a web UI for browsing, searching, streaming video, and managing downloads. It supports multiple authentication modes (single user, LDAP, forward proxy), scheduled tasks for rescanning subscriptions and backups, and integrates with Apprise for notifications and a membership/SponsorBlock API for ad-skipping. The architecture follows a modular Django app pattern (video, channel, playlist, download, task, appsettings, user, stats) with consistent use of base views, serializers, and search processors. The frontend uses Zustand for state management and a custom API client with CSRF handling. The codebase is actively maintained with comprehensive test coverage and CI/CD pipelines.

RATING: 9.1/10 MAINT: active DRIFT: medium
NorthwoodsSoftware/GoJS β˜… 8490 2826 APPLICATION

GoJS is a commercial JavaScript/TypeScript diagramming library for building interactive graphs, flowcharts, org charts, and data-visualization editors in the browser. This repository is the distribution/SDK point: it ships prebuilt core bundles (release/go.js, release/go-module.js, release/go-debug.js, release/go.mjs), TypeScript declarations (release/go.d.ts), and an extensive extension kit in both classic script (extensions/) and ES-module/TypeScript (extensionsJSM/) forms. The actual core source tree is excluded (src/ is git-ignored); users consume GoJS as an npm package or script tag and build diagram templates with a fluent API backed by GraphLinksModel/TreeModel JSON data. In production the library is a model-driven rendering and editing engine: applications push node/link data into a go.Model, declarative templates and bindings map that data to Parts, and GoJS handles canvas/SVG rendering, layout, hit-testing, undo/redo, selection, and interactive tools. There are no server endpoints or standalone executables. The extension kit is intentionally sample-grade: every file warns that APIs can change in point releases and advises copying code into the consumer's project. Despite that, the extensions demonstrate sophisticated, well-structured algorithmsβ€”circle/rectangle packing, distance-transform heatmaps, quadtree spatial indexing, SCC-based swimlane routing, and table/flow layoutsβ€”and follow consistent patterns such as option-object constructors, transaction-safe mutations, and clone-protected subclasses. No test suite is present, and the same extension is duplicated across TS, ESM JS, and classic JS, creating drift risk. License is not open-source: evaluation, non-commercial, and commercial tiers are defined in the license HTML files.

RATING: 9.1/10 MAINT: active DRIFT: low
phpspec/prophecy β˜… 8465 245 APPLICATION

Prophecy is a PHP object mocking framework for creating test doubles (stubs, mocks, spies) in unit testing. It enables developers to define prophecies about future object interactions, specifying expected behavior through promises and verifying those expectations with predictions. The framework is designed to be framework-agnostic, integrating with tools like PHPUnit and PhpSpec. The architecture centers around a Prophet service that creates object prophecies. These prophecies utilize a doubler system to generate test double classes on-the-fly, applying patches for special cases (such as handling Throwable or Traversable objects). Argument matching is handled through a flexible token system, enabling precise control over which method invocations match a prophecy. Behavior and expectations are separated into promises (defining what the double should do) and predictions (defining what is expected to occur), promoting clear and maintainable test code. Notable for its robust handling of modern PHP features, Prophecy supports union types, intersection types, nullable types, readonly classes, and the never type. Its extensible design, particularly the strategy-based argument token system and the patchable class generation, demonstrates strong software engineering practices. The framework emphasizes lazy initialization and caching of generated doubles to optimize performance, making it suitable for extensive test suites.

RATING: 9.1/10 MAINT: active DRIFT: low
qualcomm/GenieX β˜… 8440 1070 APPLICATION

GenieX is a production-grade, on-device generative AI inference SDK and CLI developed by Qualcomm for Snapdragon platforms. It provides a C core with a plugin architecture supporting two inference backends: llama.cpp (GGUF models on CPU/GPU/NPU) and QAIRT (pre-compiled bundles on Hexagon NPU). The system includes a Rust-based model manager that downloads, caches, and resolves models from Hugging Face, Qualcomm AI Hub, Docker Hub, and local filesystem, with resumable chunked downloads and progress reporting. It exposes multiple client interfaces: a Go CLI with subcommands for inference, an OpenAI-compatible HTTP server (streaming chat/completions, tool calls), Python bindings with high-level AutoModel factories, Android bindings via JNI/Kotlin, and Go bindings. The architecture is cleanly layered: C SDK β†’ plugin backends β†’ hardware, with a separate model manager process. The codebase demonstrates strong engineering practices: extensive test suites (unit, integration, device-level), CI/CD pipelines, versioned releases, and cross-platform support (Linux ARM64, Windows ARM64, Android). While primarily an application, it includes benchmark infrastructure and quality evaluation tools that could be used for research purposes.

RATING: 9.1/10 MAINT: active DRIFT: low
mockoon/mockoon β˜… 8439 481 APPLICATION

Mockoon is a multi-platform API mocking tool that runs mock servers locally or remotely. It is built as a monorepo with six npm packages: @mockoon/commons (shared models, migrations, OpenAPI converter), @mockoon/commons-server (core Express-based mock server engine with templating and response rules), @mockoon/app (Electron desktop application with an Angular renderer), @mockoon/cli (oclif-based command-line interface), @mockoon/cloud (cloud sync library), and the deprecated @mockoon/serverless wrapper. The architecture cleanly separates the core server logic from the delivery mechanisms. The MockoonServer class provides an HTTP/HTTPS server with a sophisticated response rule engine, a Handlebars templating system with over 100 custom helpers (including deep Faker.js integration), CRUD operations on data buckets, WebSocket support, proxy mode, and a full admin API. The desktop app uses a Redux-like state management pattern with RxJS, ensuring predictable and testable UI state transitions. The codebase demonstrates high craftsmanship in several areas. The ResponseRulesInterpreter is a self-contained DSL for matching HTTP requests to mock responses. The TemplateParser provides an extensible helper registration system. The data migration system in commons is a textbook example of handling schema evolution for JSON-based data models. The project is actively maintained with a robust CI/CD pipeline, though it carries some technical debt such as a deprecated serverless package and disabled strict TypeScript mode in the desktop app.

RATING: 9.1/10 MAINT: active DRIFT: medium
isomorphic-git/isomorphic-git β˜… 8374 507 APPLICATION

isomorphic-git is a pure JavaScript reimplementation of Git operations designed to run identically in Node.js and browser environments. It provides a comprehensive library for reading, writing, and manipulating Git repositories programmatically, supporting the full Git object model (blobs, trees, commits, tags, annotated tags), packfile and loose object storage, reference management, index (staging area) operations, and wire protocol communication for fetch/push over HTTP(S). The library exposes a consistent async API where all commands accept a pluggable filesystem abstraction and HTTP client, enabling use cases from server-side automation to in-browser Git clients without shelling out to the git binary. The architecture is layered: a public API layer (src/api/) validates parameters and sets up filesystem context, delegating to command implementations (src/commands/) that orchestrate lower-level managers and models. Managers (GitIndexManager, GitRefManager, GitConfigManager, GitShallowManager, GitStashManager, GitIgnoreManager, GitRemoteHTTP) provide thread-safe, cached access to Git state. Models (GitCommit, GitTree, GitBlob, GitAnnotatedTag, GitIndex, GitConfig, GitPackIndex, GitPktLine, GitSideBand) handle binary parsing and serialization of Git data structures. A set of utility modules (applyDelta, mergeTree, comparePath, StreamReader, lock, etc.) encapsulate reusable algorithms. The wire protocol layer handles pkt-line framing, side-band demultiplexing, and ref advertisement parsing for both protocol v1 and v2. Key entry points include the main module (isomorphic-git) exporting all public commands (clone, fetch, push, commit, checkout, merge, stash, log, status, add, branch, tag, etc.), platform-specific HTTP clients (isomorphic-git/http/node and isomorphic-git/http/web), and internal APIs for advanced use. The library depends only on a small set of external packages (sha.js for SHA-1, pako for zlib, diff3Merge for three-way merges, ignore for gitignore parsing) and is built with Rollup to produce ES modules, CommonJS, and UMD bundles. The test suite runs in both Node and browsers (via Jest + Puppeteer) against pre-built Git fixture repositories, ensuring interoperability with canonical Git.

RATING: 9.1/10 MAINT: active DRIFT: low
jerryc127/hexo-theme-butterfly β˜… 8364 1397 APPLICATION

hexo-theme-butterfly is a feature-rich, card-based UI theme for the Hexo static site generator. It is not a standalone application but a theme package that integrates deeply with Hexo's extension APIs: Pug templates for layouts, Stylus stylesheets for the visual system, vanilla JavaScript for client-side interactions, and Node.js scripts that register tag plugins, helpers, filters, and event handlers to enrich content generation. Its production role is to transform raw Markdown posts and site configuration into a polished, interactive blog front-end complete with comments, search, analytics, dark mode, Pjax navigation, code syntax highlighting, and various content widgets such as tags, archives, series, and related posts. The architecture is configuration-driven, with a large default config object that users can override, and it relies on a centralized asset manifest (plugins.yml) to load third-party CSS/JS from CDNs. It also supports multi-language i18n through YAML language files and provides numerous optional integrations (Disqus, Gitalk, Waline, Twikoo, Algolia, Google Analytics, etc.) behind conditional Pug includes. While the repository is a theme, it demonstrates reusable engineering patterns in its utility libraries, CSS mixins, and Hexo plugin design, making it useful as a reference for static-site theme development. There are no data science or research components; this is purely an application/theme repository.

RATING: 9.1/10 MAINT: active DRIFT: low
cross-rs/cross β˜… 8335 461 APPLICATION

cross-rs/cross is a CLI tool that enables zero-setup cross-compilation for Rust projects by wrapping Cargo and executing builds inside container engines (Docker/Podman). It manages a comprehensive registry of pre-built Docker images for dozens of target triples (Linux, musl, Android, FreeBSD, NetBSD, Solaris, Windows, bare-metal, etc.), automatically selects the appropriate image based on the --target flag, mounts the project source and toolchain, and runs cargo build/test inside the container. The tool also supports remote Docker execution, custom Dockerfiles, and advanced configuration via Cross.toml and environment variables. The codebase is structured as a Rust CLI with two binaries (cross and cross-util), a library of container orchestration modules, and a developer xtask workspace for CI, codegen, and changelog management. It demonstrates strong engineering practices with extensive CI, testing, and reusable patterns for command execution, container abstraction, and configuration merging. The repository includes a large collection of Dockerfiles and shell scripts for building target-specific toolchain images, as well as CI workflows that test across many platforms and container engines.

RATING: 9.1/10 MAINT: active DRIFT: low
APIs-guru/graphql-voyager β˜… 8169 551 APPLICATION

GraphQL Voyager is an interactive GraphQL schema explorer that visualizes any GraphQL API as an interactive graph. It consumes GraphQL introspection data (or SDL) and renders a navigable representation of the schema's types, fields, and relationships using Graphviz and SVG. The application is built with React and TypeScript, offering multiple consumption methods: a standalone bundle for direct browser use, an NPM package for integration with bundlers like Webpack, and middleware adapters for Express, Hapi, and Koa frameworks. The core functionality involves processing introspection JSON to extract type information, filtering out internal types (like Relay) and deprecated fields, and constructing a graph where nodes represent GraphQL types and edges represent relationships (such as field types). This graph is rendered via a Graphviz worker, with the resulting SVG enhanced for interactivity (tooltips, pan/zoom, click-to-explore). A companion documentation panel allows users to inspect details of selected types, including fields, arguments, and directives. Beyond the visualization, Voyager includes several reusable utilities that demonstrate thoughtful engineering: an LRU cache implemented in localStorage for efficient SVG rendering caching, a React hook for managing promise states (loading, error, success), and a flexible object matching utility. The project maintains a robust development workflow with TypeScript, Webpack, Playwright end-to-end testing (via Docker), and automated dependency updates via Dependabot. Recent commits indicate active maintenance, and the codebase adheres to modern React and TypeScript practices.

RATING: 9.1/10 MAINT: active DRIFT: low
reactive-python/reactpy β˜… 8148 330 APPLICATION

ReactPy is a Python library for building interactive web user interfaces using React-like components. Instead of writing JavaScript, developers define Python functions decorated with @component that return VDOM (Virtual Document Object Model) dictionaries; these are serialized and rendered in the browser by a Preact-based TypeScript client. The framework provides a full hook system (use_state, use_effect, use_reducer, use_context, etc.), an event-handling layer supporting debounce, throttle, and live browser-object proxies, and first-class ASGI integration via middleware or standalone ASGI apps. It also supports PyScript/Pyodide for running components entirely in the browser and importing actual ReactJS/NPM components from Python. The architecture is a hybrid library/framework: a Python core package (src/reactpy) handles component lifecycle, layout rendering, event dispatch, and state management, while a separate JavaScript client package (src/js/packages/@reactpy/client) handles DOM rendering and WebSocket communication. A notable design feature is the live event proxy, which avoids serializing entire browser event objects to the server; instead, the client holds event objects and lets Python code lazily read properties or invoke methods over a batched, security-blocklisted protocol. The project is well-tested with unit tests, Playwright-based integration tests, and CI across multiple Python versions and operating systems. It is not a data pipeline or research codebase; data-related content appears only as demo examples. The repository also contains substantial documentation, example galleries, build tooling for both Python and JavaScript, and testing fixtures that are useful for any project needing browser-backed backend testing. Some legacy APIs (e.g., reactpy.web) coexist with newer reactjs-based APIs, and the documentation has areas marked under construction, but the core code is actively maintained and demonstrates strong engineering practices.

RATING: 9.1/10 MAINT: active DRIFT: low
sngyai/Sequoia-X β˜… 8085 1636 APPLICATION

Sequoia-X is a quantitative stock selection system for the A-share market. It automates daily stock data synchronization from baostock (via SQLite), runs multiple vectorized trading strategies (e.g., Turtle Trade, MA Volume, RPS Breakout), and pushes results to Feishu groups. The system operates in two modes: daily (incremental update + strategy execution + notification) and backfill (full historical data download). Architecture features modular separation: core (config/logging), data engine (SQLite/baostock sync), strategy (abstract base + concrete implementations), and notification (Feishu webhook). Key strengths include robust incremental sync with multiprocessing, fault-tolerant backfill with retries/reconnections, and strategy-specific webhook routing via environment variables.

RATING: 9.1/10 MAINT: active DRIFT: low
CodeWithCJ/SparkyFitness β˜… 6378 415 APPLICATION

SparkyFitness is a large, self-hosted fitness and health tracking platform. It is primarily an application: a full-stack monorepo with an Express + PostgreSQL backend, a React web frontend, a React Native/Expo mobile app, and a Python FastAPI Garmin microservice, all coordinated by a shared TypeScript package containing Zod schemas, constants, and domain algorithms. The product covers nutrition, workouts, sleep, fasting, mood, cycle/pregnancy, medications, symptoms, water intake, mindfulness, and health-provider data from Garmin, Fitbit, Withings, Oura, Polar, Strava, Google Health, and others. It also includes an AI chatbot with tool calling, barcode scanning, CSV/FIT imports, and native HealthKit/Health Connect sync. The dominant data flow is client hooks calling typed API service layers, which hit Express routes backed by PostgreSQL with row-level security. External wearable integrations refresh OAuth tokens under row locks and use provider sync claims to avoid duplicate imports. The mobile clients also directly read/write platform health stores, and a large migration set evolves the schema with careful backfills and deduplication. The repository is not a data-research repo; there are no analytical notebooks or dbt-style pipelines. Its character is clearly a production application with an unusually wide feature surface. The codebase shows strong engineering discipline: shared Zod schema triples, consistent TanStack Query key factories, central cache invalidation hubs, provider sync concurrency controls, and extensive Vitest/Jest tests, including regression tests pinned to GitHub issue numbers. The main risks are breadth-driven complexity: many external integrations, native iOS/Android/watch targets, manual patches to generated schemas, and some duplicated logic across web and mobile. Overall it is actively maintained, well-tested, and offers several genuinely reusable patterns.

RATING: 9.1/10 MAINT: active DRIFT: low
TableProApp/TablePro β˜… 6266 421 APPLICATION

TablePro is a native macOS and iOS database client built with SwiftUI and AppKit, designed as an open-source alternative to commercial tools like TablePlus. It supports a vast array of database engines (PostgreSQL, MySQL, MSSQL, Oracle, MongoDB, Redis, Snowflake, ClickHouse, DuckDB, Teradata, Trino, etc.) through a plugin-based driver architecture defined in TableProPluginKit. The application features a custom code editor (CodeEditSourceEditor) with tree-sitter syntax highlighting, line folding, minimap, and Vim mode; a powerful data grid for inline editing; SSH tunneling with multi-factor authentication; CloudKit-based sync for connections and settings; and an integrated AI assistant with MCP (Model Context Protocol) server support for agentic database interactions. The codebase is actively maintained, demonstrates high engineering craftsmanship with clean protocols, extensive unit and UI tests, and many reusable components that could be extracted into independent libraries.

RATING: 9.1/10 MAINT: active DRIFT: low
vllm-project/semantic-router β˜… 6208 1055 APPLICATION

This repository implements a production-grade semantic router for LLM inference, functioning as an Envoy ext_proc filter that intercepts chat completion requests, classifies them via multiple signals (intent, PII, jailbreak, domain, embeddings, etc.), and routes to the most appropriate model or model composition. The system supports Mixture-of-Models (MoM) with configurable algorithms (fusion, cascading, workflows) and provides advanced features like semantic caching, context compression, rate limiting, and observability. It includes a full-stack dashboard (React + Go backend) for configuration management, evaluation/experimentation (campaigns, A/B tests, capacity SLOs), and monitoring. A Python CLI and Kubernetes operator are available for deployment. The codebase demonstrates high engineering quality with extensive validation, testing, and a modular architecture, though its polyglot nature (Go, Rust, Python, TypeScript) and numerous optional backends introduce maintenance complexity. While research elements (training scripts, benchmarks) exist, the primary character is a deployable application.

RATING: 9.1/10 MAINT: active DRIFT: low
mostlygeek/llama-swap β˜… 5990 503 APPLICATION

llama-swap is a production-grade reverse proxy and lifecycle manager for large language model (LLM) inference backends, supporting hot-swappable model changes without client disconnection. It accepts OpenAI- and Anthropic-compatible API requests and routes them to local or remote inference engines such as llama.cpp, vLLM, stable-diffusion.cpp, and audio.cpp. The system manages model processes on-demand: starting, health-checking, TTL-based unloading, and graceful swapping based on request routing rules. Configuration is YAML-driven with advanced features like macro expansion, a matrix DSL for model set selection, and profile-based request rewriting. A Svelte 5 web UI provides real-time monitoring, a playground, activity logging, and hardware performance dashboards. Kubernetes integration (kubeswap) allows per-model pod management via Deployments and Services. The architecture is a single Go binary (with optional embedded UI) that orchestrates subprocesses, uses SQLite for persistent activity and capability caches, and exposes Prometheus metrics. Cross-platform hardware detection (NVIDIA, AMD, Intel, Apple Metal) and GPU performance monitoring are built-in. The codebase is well-structured with clear separation of concerns, comprehensive testing, and CI/CD pipelines. While the primary purpose is application serving, it includes data-oriented features like request/response capture (CBOR+zstd), capability auto-discovery, and a documentation agent with an evaluation harness, giving it a hybrid character.

RATING: 9.1/10 MAINT: active DRIFT: low
scriptscat/scriptcat β˜… 5586 403 APPLICATION

ScriptCat is a browser extension (Chrome MV3 and Firefox) that serves as a full-featured user script manager, compatible with Tampermonkey/Greasemonkey metadata. It allows users to install, edit, enable/disable, and organize user scripts that run on web pages. Beyond script management, it integrates an AI Agent subsystem providing chat, tool calling, MCP server support, task scheduling, and skill execution. The extension also includes cloud sync and backup via multiple cloud storage providers (WebDAV, OneDrive, Google Drive, Dropbox, Baidu, S3), a built-in Monaco code editor with ESLint integration, network rule management using Chrome's DeclarativeNetRequest API, and an external access system for remote control (e.g., VS Code integration via WebSocket). Architecturally, the extension uses a service worker as the main background process, content scripts injected into web pages, an offscreen document for sandboxed execution, and a popup/options page for UI. Communication between these contexts is handled by a custom message passing framework (packages/message) that supports multiple transport modes (custom event, window message, chrome.runtime). Data is stored in chrome.storage (local/sync/session) and OPFS (file-based storage for agent data). The UI is built with React and Radix UI, with a comprehensive set of reusable UI components. Notable features include a sophisticated AI agent system with context window budgeting, tool call loop detection, sub-agent orchestration, and provider-agnostic LLM integration. The filesystem abstraction layer provides a clean provider pattern for cloud storage backends. The project also includes extensive testing (Vitest unit tests, Playwright E2E tests) and internationalization support for 10 languages. The codebase demonstrates strong engineering practices with clean abstractions, well-separated packages, and reusable components. While primarily an application, it contains data-processing elements in the agent system and cloud sync features, but these are integrated as application features rather than standalone data pipelines.

RATING: 9.1/10 MAINT: active DRIFT: low
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
Breakthrough/PySceneDetect β˜… 5253 532 APPLICATION

PySceneDetect is a production-grade Python library and CLI tool for detecting scene changes (cuts, fades, dissolves) in video files. It provides multiple detection algorithms (ContentDetector, AdaptiveDetector, ThresholdDetector, HistogramDetector, HashDetector, and TransNetV2 ONNX) and supports several video backends (OpenCV, PyAV, MoviePy). The architecture is modular: a VideoStream abstraction for decoding, a SceneDetector interface for pluggable algorithms, a SceneManager for orchestration, and output writers for CSV, EDL, FCP XML, OTIO, HTML, images, and video splitting. The CLI (built with click) offers chained subcommands for detection, splitting, and export. The repository also includes a comprehensive benchmark suite for evaluating accuracy on public shot-boundary datasets (BBC, AutoShot, ClipShots) using TRECVID-SBD metrics, making it valuable for both practical video processing and research. The codebase is well-structured, has extensive test coverage, and is actively maintained with recent releases and CI workflows.

RATING: 9.1/10 MAINT: active DRIFT: low
exiftool/exiftool β˜… 5172 492 APPLICATION

ExifTool is a mature, comprehensive Perl library and command-line application for reading, writing, and manipulating metadata across hundreds of file formats (images, audio, video, documents, archives, etc.). It supports all major metadata standards (EXIF, IPTC, XMP, GPS, ICC profiles, maker notes) and many proprietary formats. The architecture is modular: each file format has a dedicated Perl module under `lib/Image/ExifTool/` that implements a consistent interface for reading and writing metadata. The core `Image::ExifTool.pm` provides the API and CLI entry point. The codebase is exceptionally well-documented, with auto-generated HTML tag reference pages and extensive test coverage (over 100 test scripts with golden output files). It is actively maintained by a single author (Phil Harvey) with frequent releases. While the library is tightly coupled to the ExifTool framework, individual format modules follow clean patterns and could serve as reference implementations for metadata parsing. The repository also includes reusable utilities like `File/RandomAccess.pm` for buffered random file access and `Image/ExifTool/Geolocation.pm` for reverse geocoding.

RATING: 9.1/10 MAINT: active DRIFT: low
$ loading more...
$ submit: