thehardwarestore.ai

where AI agents shop for the right tools

── 98857 repos indexed ── | filtered by tag: #data-validation
pydantic/pydantic ★ 28971 3026 APPLICATION

Pydantic is a high-performance Python library for data validation and serialization, driven by Python type hints. Its architecture is a hybrid Python/Rust system: the Python layer provides the user-facing API (BaseModel, TypeAdapter, validate_call, dataclass decorator, field validators/serializers) and schema generation logic, while the Rust core (pydantic-core) implements the actual validation and serialization engines for maximum speed. The library supports a wide range of types including primitives, collections, unions, generics, dataclasses, TypedDicts, and custom types, with strict/lax modes, alias handling, and JSON schema generation. Key entry points are BaseModel for model definitions, TypeAdapter for standalone type validation, and the validate_call decorator for function argument validation. External dependencies are minimal: pydantic-core (Rust binary) is required, and optional integrations include email-validator, python-dotenv, and hypothesis. The codebase is exceptionally well-engineered, with extensive test coverage, performance benchmarks, mypy/pyright plugin support, and a plugin system for lifecycle hooks. It maintains backward compatibility with Pydantic V1 through a vendored v1 package and deprecation shims.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
jquense/yup ★ 23656 950 APPLICATION

Yup is a schema builder and validation library for JavaScript and TypeScript, designed for runtime value parsing and validation. It provides a fluent, chainable API to define schemas that can cast input values to the correct types and assert constraints. The library is built around a modular class hierarchy: a base Schema class provides common methods (validate, cast, isValid, etc.), and concrete types (StringSchema, NumberSchema, BooleanSchema, DateSchema, ArraySchema, ObjectSchema, TupleSchema) extend it with type-specific transforms and tests. MixedSchema allows arbitrary types with custom type guards. The library also supports lazy evaluation via LazySchema, conditional logic via when(), and references via Ref for cross-field validation. Yup is fully asynchronous by default but provides synchronous variants for use cases without async tests. It integrates with the Standard Schema specification for interoperability. External dependencies include property-expr for path expressions, tiny-case for string case transformations, toposort for dependency ordering, and type-fest for TypeScript utilities. The codebase is written in TypeScript with comprehensive type inference, allowing static types to be inferred from schema definitions. The architecture emphasizes immutability (each method returns a new schema instance) and composability (schemas can be concatenated, nested, and reused). Key entry points are the factory functions (string(), number(), boolean(), date(), object(), array(), tuple(), mixed(), lazy(), ref()) and the methods on schema instances (validate, cast, isValid, describe, etc.). The validation flow involves resolving conditions and references, running transforms (coercion pipeline), then executing tests (assertions). Errors are collected into ValidationError objects with detailed context.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ethereum-lists/chains ★ 9829 8192 DATA_RESEARCH

This repository is a community-maintained, curated registry of EVM-compatible blockchain networks. It contains thousands of JSON files under `_data/chains/`, each defining a chain's metadata: RPC endpoints, native currency, explorers, icons (IPFS CIDs), status (active/deprecated/incubating), parent L2 relationships, and feature flags. The dataset is the primary asset, designed for consumption by wallets, dApps, block explorers, and infrastructure tooling that needs up-to-date chain information. Beyond the data, the repository includes a Kotlin-based processor that validates all chain definitions (schema compliance, icon size/format, IPFS retrievability, ENS address checks) and produces aggregated `chains.json` and `chains_mini.json` outputs. A published Kotlin model library (`model/`) and an HTTP loader (`httpsloader/`) enable programmatic access. CI pipelines enforce formatting, schema validation, and per-PR checks. The project is hybrid: its core value is the dataset, but it also delivers a well-engineered application layer for validation, aggregation, and distribution. The registry answers questions like 'What RPC endpoints are available for chain X?', 'What is the native currency of chain Y?', 'Which chains are L2s of Ethereum?', and 'What explorers support EIP3091?'. It serves as a single source of truth for EVM chain metadata, reducing fragmentation across the ecosystem.

RATING: 9.2/10 REPRO: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
dry-rb/dry-schema ★ 492 123 APPLICATION

dry-schema is a Ruby library for data validation and schema definition, not an application or data pipeline. It provides a DSL to describe nested data structures with type coercion and predicate-based rules, then processes input hashes through a multi-step pipeline (key coercion, value coercion, rule application) producing an immutable result with errors, messages, and hints. It exposes Dry::Schema.define for plain schemas, Dry::Schema.Params for HTTP parameter coercion, and Dry::Schema.JSON for JSON payloads, plus optional extensions for monads, structs, JSON Schema generation, info, and hints.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
LunarClient/ServerMappings ★ 216 2221 DATA_RESEARCH

This repository is a collection of Minecraft server metadata, consisting of JSON files and associated images for each server. It includes JSON schemas to define the structure of the metadata, and Python scripts for validating the data and generating an index. The data is used to likely power a server listing website or service. The repository is well-organized with consistent structure across hundreds of servers, and includes documentation and CI workflows.

RATING: 9.0/10 REPRO: 6.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
python-jsonschema/jsonschema ★ 4979 658 APPLICATION

This repository is the Python `jsonschema` library, a comprehensive implementation of JSON Schema validation for Python. It supports all major JSON Schema drafts (Draft 3, 4, 6, 7, 2019-09, 2020-12, and an experimental v1) and provides a rich API for validating JSON data against schemas, including custom type checking, format validation, and error reporting. The library is designed for extensibility, offering factory functions (`create`, `extend`) to build custom validators with modified keyword behavior, type checkers, or format checkers. It also includes a deprecated CLI and a legacy `RefResolver` for backward compatibility, but the modern path uses the `referencing` library for robust `$ref` resolution. The repository also bundles the official JSON Schema Test Suite (under `json/`), a language-agnostic collection of conformance tests covering all drafts. This test suite is used by the library's own test suite and is maintained alongside the Python code. The library is actively developed, with CI running on multiple Python versions and operating systems, and is published on PyPI. While the core validation logic is clean and well-abstracted, the codebase carries significant deprecation surface and dual code paths (legacy vs. modern reference resolution), which adds complexity. The library is a mature, production-grade tool with a large user base and strong community support.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
dr5hn/countries-states-cities-database ★ 9864 3030 DATA_RESEARCH

This repository is a curated, comprehensive geographic database of countries, states, cities, and postcodes, with a strong emphasis on ISO 3166 compliance and data quality. It is primarily a data_research project, though it includes supporting application code (export pipelines, validation tools, CI/CD) that enables multi-format distribution (JSON, CSV, SQL, Parquet, etc.). The raw data lives in the `contributions/` directory as JSON files, which are the source of truth. A rich ecosystem of Python, PHP, and Node.js scripts handles ingestion from community and official sources, idempotent correction, enrichment (timezones, translations), and export to 12+ formats. The repository is actively maintained by a community of contributors and automated bots, with rigorous PR validation (schema, coordinates, duplicates, cross-references) and extensive fix documentation. It answers questions like 'What are the administrative divisions of a country?' and 'What postcodes exist for a given locality?' and is used as a reference data source for applications worldwide.

RATING: 8.7/10 REPRO: 8.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
cdervis/cppstat ★ 213 23 DATA_RESEARCH

This repository is a curated, structured dataset of C and C++ standard features (from C99 to C++29) with per-compiler support status across multiple toolchains (GCC, Clang, MSVC, Xcode, etc.). It includes YAML data files defining features, toolchain releases, and frontend metadata, along with a C++ validation tool that enforces schema compliance and semantic consistency (e.g., verifying that referenced tool versions exist and issue trackers are properly used). The dataset is designed to power a reference website (cppstat) and is accompanied by detailed Markdown explanations for each feature. While the primary artifact is the data itself, the validator and CI pipeline demonstrate strong data engineering practices, making the repository a reliable source for compiler feature support information.

RATING: 8.2/10 REPRO: 8.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
rsuite/schema-typed ★ 200 29 APPLICATION

schema-typed is a TypeScript/JavaScript library for data modeling and validation. It provides a schema-based approach to validate JavaScript objects with support for synchronous and asynchronous validation rules. The library features a flexible type system (StringType, NumberType, ArrayType, ObjectType, etc.) that allows developers to define validation schemas with custom rules, field dependencies, nested object validation, and detailed error reporting. The architecture centers around a MixedType base class with specific type implementations, a Schema class for composing field validators, and utility functions for validation logic. Key features include priority-based rule execution, async rule handling, field proxying for dependent validation, and comprehensive error message templating.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
nordicsemi/bluetooth-numbers-database ★ 503 117 DATA_RESEARCH

This repository is a curated database of Bluetooth Assigned Numbers, providing JSON-formatted data for Company IDs, Service UUIDs, Characteristic UUIDs, Descriptor UUIDs, and GAP Appearance values. It serves as a single source of truth for Bluetooth numeric identifiers, enabling developers to look up human-readable names and descriptions for these values. The project includes validation and verification scripts to ensure data integrity, and update scripts to maintain synchronization with the official Bluetooth SIG assignments. While the core value lies in the JSON data files, the repository also provides reusable patterns for data validation, duplicate detection, and external data transformation.

RATING: 7.9/10 REPRO: 6.0/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
GokuMohandas/Made-With-ML ★ 48452 7621 DATA_RESEARCH

Made With ML is an educational data science project that implements an end-to-end ML pipeline for classifying GitHub repositories into categories (NLP, computer vision, MLOps, other) based on their titles and descriptions. The core data lineage flows from raw CSV datasets (dataset.csv, holdout.csv) through text cleaning, tokenization via SciBERT, and stratified splitting into train/val/test sets, followed by distributed training with PyTorch and Ray Train, hyperparameter tuning via HyperOpt, evaluation with slice-based metrics using Snorkel, and serving through a FastAPI/Ray Serve deployment. The project demonstrates MLOps patterns including MLflow experiment tracking, data validation with Great Expectations, behavioral model testing, and CI/CD via GitHub Actions with Anyscale for cloud execution. The codebase is well-structured with clear separation of concerns across data.py, train.py, tune.py, evaluate.py, predict.py, serve.py, models.py, and utils.py. It includes comprehensive tests at the code, data, and model levels. However, the project shows signs of staleness with pinned dependencies from 2023 (Ray 2.7.0, transformers 4.28.1, torch 2.0.0) that have known security vulnerabilities and compatibility issues with current Python versions. The data pipeline components—particularly the CustomPreprocessor, stratified splitting, and text cleaning—are genuinely reusable patterns. The evaluation framework with slice-based metrics and behavioral tests (invariance, directional expectations, minimum functionality) represents solid ML engineering practice. The deployment configuration is tightly coupled to Anyscale's proprietary platform, limiting portability.

RATING: 7.8/10 REPRO: 7.5/10 MAINT: stale DRIFT: medium
▸ 5 reusable components found
Guang000/Awesome-Dataset-Distillation ★ 1972 181 DATA_RESEARCH

This repository is a comprehensive, curated bibliography for the field of dataset distillation, maintained by three researchers. It aggregates over 400 papers organized by methodology (gradient matching, distribution matching, generative approaches, etc.) and application domain (continual learning, privacy, medical, federated, graph, NLP, video, etc.). The project provides a GitHub Pages website (index.html) that renders the paper list with links to code, project pages, and BibTeX citations, plus a sidebar for navigation. Supporting Python scripts (transform_record.py, validate_articles.py, catch_latest.py) manage the data pipeline: parsing a custom update format, validating article records, and merging latest additions. The repository is a hybrid of a data curation project (structured paper database) and a static web application (client-side rendering). While the code is simple and functional, there are data quality issues such as trailing whitespace in URLs, mismatched citation keys, and future-dated entries, indicating manual update processes that are not fully automated. The project is actively maintained with frequent additions, but the lack of pinned dependencies and automated CI validation limits reproducibility.

RATING: 7.4/10 REPRO: 7.0/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
jkwakman/Open-Cookie-Database ★ 314 117 DATA_RESEARCH

The Open Cookie Database is a community-curated reference dataset cataloging HTTP cookies. The single source of truth is open-cookie-database.csv, which records each cookie's platform, category (Functional, Personalization, Analytics, Marketing, Security), cookie name/pattern, domain, description, retention period, data controller, GDPR/privacy policy URL, and a wildcard-match flag. The dataset is maintained through manual PR-based contributions following a documented research workflow, and it is consumed by downstream privacy tooling (notably the EU EDPB Website Auditing Tool, via a dedicated EDPB JSON export). A static HTML viewer renders the CSV client-side using PapaParse and DataTables for browsing and export. The data lineage is simple and fully automated: on every push touching the CSV, GitHub Actions runs validate.py (UUID format/uniqueness, category whitelist, duplicate detection), then regenerates two derived artifacts - open-cookie-database.json (records grouped by platform) via convert_csv_to_json.py, and open-cookie-database-edpb.json via convert_edpb.py, which maps the flat CSV onto the EDPB tool's nested knowledge-base JSON schema. The pipeline is deterministic, idempotent, and commits the regenerated JSON back to the repo when changed. There is no application runtime, API, or library; the three Python scripts and CI workflows are infrastructure that exists solely to keep the dataset valid and in sync across formats. Craftsmanship is functional but modest. The scripts show reasonable engineering discipline: CLI parameterization, graceful handling of missing/empty files, GitHub Actions error annotations, and non-zero exit codes on failure. The validation script encodes real data-quality rules. However, there are clear signs of aging: the HTML viewer references the retired StackPath Bootstrap CDN and contains a malformed protocol-relative script URL ('//http://...'); the main validation workflow still pins Node 16 (EOL) and uses checkout@v2; convert_edpb.py uses the deprecated datetime.utcnow(); and pandas is installed unpinned. These issues do not break the core CSV-to-JSON pipeline, but they make the supporting surface fragile. The repository is a data asset first and code second - the value lies in the curated cookie catalog and the governance around it, not in the software. It is a solid, genuinely useful open-data project with competent but unremarkable data engineering. An analyst can clone it and reproduce all derived JSON artifacts with just Python and pandas, since the dataset is bundled and the transforms are simple, explicit, and parameterized.

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