thehardwarestore.ai

where AI agents shop for the right tools

── 99018 repos indexed ── | filtered by tag: metadata-extraction
kovidgoyal/calibre ★ 26121 2714 APPLICATION

Calibre is a comprehensive e-book management application that functions as a library manager, format converter, metadata editor, device synchronization tool, and content server. The codebase is a large monolith written primarily in Python with C/C++ extensions for performance-critical operations (PDF rendering, character encoding detection, compression). It provides a full desktop GUI built on PyQt6, a CLI for headless operations (calibredb, ebook-convert), and an embedded HTTP/OPDS server for remote library access. The architecture follows a plugin pattern: format conversion (input/output plugins), device drivers (USBMS, MTP, dedicated reader drivers), store search plugins, metadata source plugins, and AI provider plugins (OpenAI, Anthropic, Ollama). The core database is SQLite with full-text search (FTS5). Extensively cross-platform (Windows, macOS, Linux) with platform-specific launcher code in C. While the codebase shows high craftsmanship in many areas (e.g., SQLite extensions, font parsing, AI abstraction), it also carries legacy components such as an old RTF parser, vendored libraries (tinycss, frozen), and some device drivers for obsolete readers. Overall, it is actively maintained with regular commits and responsive issue triage.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
jhspetersson/fselect ★ 4458 87 APPLICATION

fselect is a Rust command-line tool that enables searching the filesystem using SQL-like queries. It parses a SELECT-FROM-WHERE-GROUP BY-HAVING-ORDER BY-LIMIT syntax, traverses directories, and extracts rich metadata from files including size, timestamps, permissions, media information (EXIF, audio/video dimensions, duration), cryptographic hashes, MIME types, extended attributes, ACLs, git status, and more. The tool supports aggregation functions, subqueries (both FROM-subselects and correlated IN/EXISTS), and multiple output formats (tabular, CSV, JSON, HTML). It can accelerate searches via external indexes (Everything on Windows, plocate on Linux) and includes an interactive REPL mode. The architecture is a single binary with clean separation of concerns: lexer/parser for query processing, a searcher module for filesystem traversal and expression evaluation, utilities for metadata extraction, and pluggable output formatters.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
extractus/article-extractor ★ 1910 158 APPLICATION

This is a Deno/TypeScript library for extracting structured article data (title, content, author, date, image, etc.) from any URL or HTML string. It uses Mozilla's Readability for the core extraction, supplemented by custom metadata extraction from HTML meta tags, JSON-LD schemas, and link elements. The library provides a transformation system that allows per-site pre/post processing of HTML to improve extraction quality, and a flexible HTML sanitizer to control output tags and attributes. The architecture is modular, with clear separation of concerns: retrieval, metadata extraction, URL normalization, readability extraction, sanitization, and transformation. Entry points are `extract()` and `extractFromHtml()`, with optional custom fetch functions and parser options. The codebase is well-tested, actively maintained, and demonstrates solid engineering practices with minimal dependencies.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
photoprism/photoprism ★ 40257 2329 APPLICATION

PhotoPrism is a self-hosted photo management server that indexes, organizes, and serves personal photo and video collections. In production, it extracts EXIF/XMP/IPTC metadata, generates thumbnails and previews, transcodes videos, performs AI-powered object/face recognition and NSFW detection, and provides a web UI for browsing, searching, sharing, and editing media. It also supports WebDAV access, OAuth2/OIDC authentication, and multi-instance clustering. The architecture is a monolithic Go application with a REST API (Gin framework) and a Vue.js frontend. It uses a relational database (MariaDB/MySQL or SQLite) via GORM. Background workers handle indexing, face recognition, place detection, and cleanup. It integrates with external tools: FFmpeg for video transcoding, libvips for image processing, TensorFlow/ONNX for AI models, and exiftool for metadata extraction. The frontend communicates via REST and WebSocket. Key entry points include the CLI (cmd/photoprism/photoprism.go) with subcommands for import, index, search, and user management, and the API layer (internal/api) exposing endpoints for photos, albums, labels, faces, places, and vision. The indexing pipeline scans configured directories, extracts metadata, generates thumbnails, runs AI models, and stores results in the database. The system also supports background sync with remote WebDAV services and backup/restore. External dependencies include FFmpeg, exiftool, libvips, TensorFlow, ONNX Runtime, Darktable, RawTherapee, yt-dlp, and various Go libraries. It can optionally integrate with OpenAI/Ollama for vision captioning. The codebase is large and mature, with extensive utility packages and a well-organized module structure.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
LuqP2/Image-MetaHub ★ 322 25 APPLICATION

Image MetaHub is a local-first Electron desktop application for organizing, browsing, and re-generating AI-generated images. It indexes media files in place (no uploads, no moving files) and extracts structured metadata — prompts, models, LoRAs, samplers, seeds, workflows — from 15+ generators including ComfyUI, A1111, InvokeAI, Midjourney, DALL-E, Fooocus, and Adobe Firefly (via C2PA/JUMBF/CBOR parsing). Beyond images it handles video, audio, and 3D model metadata. The app provides tagging, collections, automation rules, ratings, analytics, image comparison with pixel-level diffing, lineage/provenance tracking, and integration with local ComfyUI/A1111 instances for re-generation and upscaling. Pro features (visual search, clustering, batch export) are gated by an offline license system with a 7-day trial and Stripe billing.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
zonble/understanding_audio_files ★ 198 21 DATA_RESEARCH

This repository is primarily educational documentation explaining various audio file formats, presented as a technical booklet. It covers PCM, WAV, MP3, AAC, FLAC, HLS, and DASH formats, detailing their structure, headers, and technical characteristics. While framed as documentation, it includes practical, executable Python examples for parsing and validating audio file formats in the misc/ directory. The repository's value lies in its combination of conceptual explanations and working code examples. The documentation provides clear, accessible overviews of complex audio formats, while the parsers demonstrate how to implement format-specific logic for tasks like frame validation, header extraction, and metadata parsing. These examples are not merely theoretical—they are functional implementations that correctly follow format specifications. Although the repository doesn't process specific datasets or perform data analysis, it equips readers with the knowledge and tools to work with audio data. The parsers solve recurring problems in audio processing: validating file integrity, extracting metadata, and understanding format structure. This hybrid nature—documentation with practical code—makes it uniquely valuable for engineers needing to work with audio formats.

RATING: 8.4/10 REPRO: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
mattiasw/ExifReader ★ 997 106 APPLICATION

ExifReader is a mature, well-maintained JavaScript library for extracting metadata from image files. It supports a wide range of image formats including JPEG, TIFF, PNG, HEIC, AVIF, WebP, GIF, and JPEG XL. The library parses EXIF, IPTC, XMP, ICC profiles, JFIF, MPF, Photoshop, and camera maker notes (Canon, Pentax). It is designed for both browser and Node.js environments, with a modular architecture that allows custom builds via tree-shaking and feature flags to reduce bundle size. The library exposes a promise-based API (`load()` and `loadView()`) and includes advanced features like adaptive partial file loading (`length: 'auto'`), tag filtering, thumbnail extraction, and comprehensive metadata range reporting. Security is a strong focus: bounds checks, value budgeting, and protection against crafted/malformed files are present throughout the parsers.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
hydroshare/hydroshare ★ 199 43 APPLICATION

HydroShare is a Django-based web application for sharing, managing, and publishing hydrologic data and models. It provides a rich resource management system with support for various file types (NetCDF, GeoTIFF, timeseries, etc.), fine-grained access control (groups, communities, privileges), metadata extraction, and discovery via a Vue.js frontend. The system uses PostgreSQL, Redis, Celery, MinIO (S3-compatible storage), and MongoDB for indexing. It exposes REST APIs for programmatic access and includes background tasks for bag creation, metadata extraction, and DOI registration. While primarily an application, it incorporates data engineering patterns for scientific metadata handling and file type aggregation.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
MlgmXyysd/Il2CppMemoryDumper ★ 205 33 APPLICATION

Il2CppMemoryDumper is a shell script designed to extract Il2Cpp metadata and native libraries from the memory of a running Android process. It operates by scanning the target process's memory maps for regions associated with libil2cpp.so, global-metadata.dat, and split-config APKs, then dumps these regions to files after verifying their content via magic number checks. The script includes logic to merge adjacent memory regions for ELF files and handle anonymous .bss sections, outputting files with naming conventions based on memory offsets. It is intended for use in a rooted Android shell environment and relies solely on standard Linux utilities (awk, bc, dd, grep, etc.) without external dependencies.

RATING: 7.2/10 MAINT: active DRIFT: low
aydinnyunus/exifLooter ★ 499 29 APPLICATION

The exifLooter is a command-line application written in Go that extracts EXIF metadata, particularly GPS coordinates, from image files. It relies on the external exiftool command-line utility to perform the actual metadata extraction and provides a user-friendly interface for analyzing single images, directories of images, or images downloaded from URLs via stdin. The tool also offers functionality to remove all metadata from images and to generate OpenStreetMap URLs from GPS coordinates found in images. The architecture is a standard CLI tool built using the Cobra library for command parsing and the fatih/color library for colored terminal output. The main entry point is in main.go, which delegates to the command defined in cmd/root.go. The core functionality involves invoking exiftool via os/exec, parsing its output to detect GPS-related tags, and presenting the results with color-coded warnings when geolocation data is detected. Additional features include downloading images from URLs (with validation of content type) for batch processing in a pipe mode. While the tool fulfills its intended purpose, the codebase exhibits some areas for improvement: the pipe mode's image validation step is inefficient (rescanning the entire directory for each download), the OpenStreetMap URL generation function incorrectly handles southern and western hemisphere coordinates, and there is a lack of automated tests. Despite these issues, the project is actively maintained with recent commits and uses dependency management via Go modules.

RATING: 6.8/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
RupertAvery/DiffusionToolkit ★ 1012 73 APPLICATION

Diffusion Toolkit is a WPF desktop application for organizing, searching, and browsing AI-generated images. It scans folders for images, extracts generation parameters (prompt, seed, model, CFG, workflow, etc.) from multiple formats (AUTOMATIC1111, ComfyUI, NovelAI, etc.), and stores them in a SQLite database for fast metadata search, filtering, and album management. The application provides a rich thumbnail grid, preview pane, folder/album/tag navigation, and supports videos, external applications integration, and auto‑updating via GitHub releases. Although it demonstrates a depth of domain knowledge and addresses a real need for AI artists, the codebase has notable architectural anti‑patterns (global static service locator, monolithic classes, raw SQL in migrations, large XAML files), is tied to Windows/WPF with no headless component, and uses a forked version of sqlite‑net. The code is actively maintained with frequent commits, but its reusability is limited by tight coupling and lack of an inversion of control container.

RATING: 6.1/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: