19 dépôts
Tools for parsing, validating, and enforcing data structures against predefined schemas.
Distinguishing note: Focuses on schema-based data validation and parsing logic rather than general database management or storage.
Explore 19 awesome GitHub repositories matching data & databases · Data Validation Libraries. Refine with filters or upvote what's useful.
Zod is a TypeScript-first schema declaration and validation library designed to ensure end-to-end data integrity. It functions as a runtime type guard, allowing developers to define complex data structures through a declarative, chainable syntax. By using these schema definitions, the library automatically derives static TypeScript types, eliminating the need for manual type duplication and ensuring that runtime data matches expected application contracts. The library distinguishes itself through functional schema composition, which enables the creation of hierarchical structures by nesting a
Provides robust schema parsing and validation capabilities with support for both synchronous and asynchronous data processing.
Toon is a data serialization library and toolkit designed to convert complex objects into compact, human-readable formats optimized for large language models. By focusing on token efficiency, the library minimizes the context window footprint of structured data through techniques like key folding and tabular layout optimization. It provides a streaming-capable processor that handles the encoding and decoding of hierarchical data while maintaining structural integrity. The project distinguishes itself through its path-aware transformation pipeline and configurable serialization logic, which al
Enforces schema consistency and detects data corruption by checking serialized documents against structural invariants.
Yup is a JavaScript schema validation library used to define data shapes and validate runtime values. It functions as an object schema validator and a data coercion engine, allowing developers to transform raw input values into desired types before performing validation checks. The library is distinguished by its support for dynamic schema validation, where rules can be adjusted at runtime based on sibling field values or external context. It also enables recursive data structuring for polymorphic fields and provides a system for extracting static TypeScript interfaces from runtime schema def
Ships a library for parsing and validating data structures against predefined schemas.
Joi is a JavaScript data validation library used to define schemas that validate, cast, and sanitize data objects. It functions as an object schema validator and parser, ensuring that input data matches specific types and formats before it is processed by an application. The library features a conditional validation engine capable of dynamic schema enforcement, where validation logic and dependencies change based on the values of other keys within an object. It also serves as a data casting and sanitization tool, transforming input values into target types and removing sensitive keys from the
Defines schemas to validate, cast, and sanitize data objects in JavaScript environments.
Joi is a JavaScript data validation library used to define schemas that ensure the structure and data types of objects remain consistent. It functions as a schema-based validator and object schema definition tool, preventing invalid information from entering an application by checking data against predefined constraints and rules. The library employs a chainable fluent interface and a constraint-based validation engine to build complex validation pipelines. It utilizes recursive tree traversal to validate nested data structures and a type-coercion pipeline to transform input values into the t
Provides a comprehensive library for defining schemas to validate the structure and data types of JavaScript objects.
Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a modular, plugin-based architecture that allows developers to compose server logic, middleware, and validation schemas into scalable application instances. By leveraging native web standards, the framework ensures portability across diverse JavaScript runtimes, including Node.js, Deno, and various edge computing environments. The framework distinguishes itself through its focus on end-to-end type safety, automatically synchronizing request and response definitions between the s
Integrates different schema validation libraries within the same application to ensure consistent data integrity.
Ajv is a high-performance data validation framework that compiles JSON schemas into optimized, standalone JavaScript functions. By transforming declarative schema definitions into executable code, it eliminates runtime interpretation overhead and provides a secure, efficient way to enforce data integrity across both browser and server environments. The library distinguishes itself through its focus on performance and type safety. It employs advanced compilation techniques, including abstract syntax tree optimization and function caching, to ensure rapid validation. Beyond standard checks, it
Enforces validation constraints by comparing field values against other properties within the same object using pointers.
Lightweight Charts is a specialized library for rendering interactive time-series financial data visualizations within web applications. It provides a high-performance, responsive component designed to display historical and live market trends through various graphical formats, including candlesticks, histograms, and line series. The library distinguishes itself through a canvas-based rendering engine that decouples visual representation from raw data, enabling efficient updates and real-time monitoring of large datasets. It includes built-in support for accessibility, ensuring that interacti
Validates timestamps and business day objects to ensure data structural integrity and prevent rendering errors.
Great Expectations is a data quality testing framework and observability platform designed to monitor the reliability of data pipelines. It provides a structured environment for defining, documenting, and automating data quality assertions, allowing teams to validate datasets against expected structure and content before they move through downstream processes. The project distinguishes itself through a declarative domain-specific language that stores quality rules as version-controlled configuration files. It utilizes an execution engine abstraction to translate these high-level assertions in
Compares datasets against predefined rules to identify anomalies and schema deviations.
This project is a framework for the efficient serialization and deserialization of data structures. It provides a unified, macro-based interface that automates the conversion of complex internal objects into standardized formats and reconstructs them from raw input streams or buffers. By leveraging compile-time code generation, the library minimizes manual implementation overhead while ensuring consistent logic across diverse data types. The framework distinguishes itself through a format-agnostic data model and a visitor-based parsing architecture that decouples data structures from specific
Improves performance by ignoring incoming data during deserialization without storing it in memory.
ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers with limited memory and processing power. It provides the core primitives necessary for embedded data serialization and parsing, enabling devices to exchange structured data over serial or network interfaces. The library is distinguished by its focus on microcontroller memory management, employing strategies such as pool-based allocation, string deduplication, and non-owning string views to minimize RAM usage. It further optimizes for constrained environments by allowing cons
Minimizes memory usage by discarding unwanted JSON keys during the deserialization process.
Superstruct is a JavaScript and TypeScript data validation library used to verify that data structures match defined shapes and types. It functions as a composable schema builder and a TypeScript schema validator, ensuring that runtime data checks remain synchronized with static type definitions. The library features a data coercion engine that transforms input values or injects default values before the validation process is executed. It enables the creation of complex validation rules by nesting, merging, or omitting properties from existing structures. Its capabilities cover the validatio
Provides a comprehensive library for parsing, validating, and enforcing data structures against predefined schemas in JavaScript and TypeScript.
Ecto is an Elixir database toolkit that maps database rows to Elixir structs and validates data changes through changesets before persistence. It provides a language-integrated query syntax for composing database queries, building them incrementally and securely with compile-time expansion into safe SQL. The toolkit connects to multiple database backends including PostgreSQL, MySQL, MSSQL, SQLite3, ClickHouse, and ETS through a pluggable adapter interface. It supports eager and lazy preloading of associated records to eliminate N+1 query problems, and can store nested data structures as embed
Maps database rows to structs and validates changes through changesets before persistence.
Typia is a compile-time code generator that transforms TypeScript type annotations into runtime validation, serialization, and schema functions without requiring decorators or separate schema files. It generates optimized validation and serialization code during TypeScript compilation, producing dedicated functions for each type that eliminate runtime schema objects for faster execution. The project extends this core capability into several integrated areas. It generates fully typed client SDKs from NestJS controller source code, keeping server and client types synchronized automatically. It
Provides a lenient JSON parser that recovers data from malformed input while reporting syntax errors.
Ce projet est une bibliothèque de machines à vecteurs de support (SVM) implémentée en C, fournissant un moteur pour les tâches de classification et de régression. Il fonctionne comme une bibliothèque de noyau de machine learning et un validateur de modèle statistique utilisé pour catégoriser des points de données et prédire des valeurs numériques continues. La bibliothèque permet la définition de fonctions de noyau personnalisées pour calculer la similarité entre les points de données dans des jeux de données spécialisés. Elle inclut également des outils pour la modélisation probabiliste, tels que l'estimation de l'appartenance à une classe, la densité des données et les limites de distribution. Les capacités étendues couvrent l'entraînement de modèles pour des jeux de données multi-classes, incluant la gestion des données déséquilibrées via des fonctions de perte pondérées. Le système fournit des workflows pour la sélection d'hyperparamètres et l'optimisation de modèles en utilisant des contours de précision et la validation croisée stratifiée. Des utilitaires de prétraitement des données sont inclus pour la validation des entrées et la mise à l'échelle des attributs afin de normaliser les magnitudes des caractéristiques.
Checks datasets for consistency and formatting errors before they are processed by the learning algorithm.
Pandera is a data pipeline validation framework and statistical type validation tool. It functions as a library for defining and enforcing schemas on datasets to ensure data quality and consistency, specifically providing validation capabilities for Pandas dataframes. The project includes a schema inference tool that automates setup by analyzing existing dataset samples to generate validation schemas. It also serves as a synthetic data generator, creating artificial datasets based on predefined schemas to verify data-producing functions. The framework covers data engineering quality assuranc
Provides a specialized library for enforcing schemas and validating data structures within Pandas dataframes.
v8n est une bibliothèque de validation de données JavaScript utilisée pour vérifier que les valeurs, objets et tableaux répondent à des critères spécifiques. Il fonctionne comme un validateur basé sur un schéma et un moteur de validation asynchrone, utilisant une API fluide pour construire des séquences de règles et de contraintes chaînables. Le framework se distingue par sa capacité à exécuter des promesses et des requêtes réseau pendant le processus de validation pour déterminer si une valeur est valide. Il permet la création de schémas de validation réutilisables et fournit un framework de règles personnalisable où les utilisateurs peuvent définir leur propre logique et configurer la façon dont les résultats d'erreur sont renvoyés. La bibliothèque couvre un large éventail de capacités de vérification, incluant la vérification du type de données pour les primitives et prototypes, la validation du contenu des chaînes via regex et jeux de caractères, et les contraintes numériques. Elle prend également en charge la vérification d'objets complexes, la validation d'éléments de collection et de tableau, et la logique conditionnelle pour inverser les règles ou gérer les valeurs optionnelles. Le système est conçu pour une collecte détaillée des erreurs, évaluant les valeurs par rapport à chaque règle définie pour rassembler une liste complète des échecs plutôt que de s'arrêter à la première erreur.
Functions as a tool for parsing and validating JavaScript data structures against predefined schemas.
Cette bibliothèque est un framework PHP pour appliquer l'intégrité des données et les règles métier en validant les valeurs scalaires et les structures d'objets complexes par rapport à des contraintes prédéfinies. Elle fournit une approche structurée pour inspecter les graphes d'objets et les métadonnées de propriétés, garantissant que les données sont conformes aux exigences attendues avant d'être traitées par une application. Le framework se distingue par un système de mappage piloté par les métadonnées qui utilise la réflexion ou des fichiers de configuration pour appliquer des règles directement aux propriétés des objets. Il prend en charge l'orchestration contextuelle des règles, permettant aux développeurs d'organiser les contraintes en groupes logiques qui se déclenchent sélectivement en fonction de l'état de l'application ou du cycle de vie des données. Le système utilise également un modèle de traversée basé sur le visiteur pour inspecter les structures d'objets complexes et utilise le chargement paresseux pour instancier les règles de validation uniquement lorsque nécessaire. Au-delà de la validation de base, la bibliothèque inclut des utilitaires pour le formatage des données, les comparaisons temporelles et l'assainissement des entrées. Elle dispose d'une architecture découplée qui sépare les définitions de contraintes de la logique d'exécution, permettant la création de règles réutilisables et spécifiques au domaine. La gestion des erreurs est gérée via une couche d'abstraction de traduction, qui mappe les résultats de violation vers des messages localisés pour un reporting internationalisé.
Checks individual scalar values against defined constraints to ensure they meet specific format or value requirements.
Dry-validation est une bibliothèque Ruby conçue pour définir des schémas typés et des règles de validation complexes afin de vérifier et assainir les structures de données d'entrée. Elle fournit un framework formel pour construire une logique de validation modulaire, garantissant que les informations entrantes répondent aux exigences métier et aux formats de données spécifiques avant d'être traitées par une application. La bibliothèque utilise un langage spécifique au domaine (DSL) pour déclarer les règles de validation, qui sont ensuite analysées en objets exécutables. Elle se distingue par un système piloté par des macros qui regroupe la logique de validation courante dans des raccourcis réutilisables, ainsi qu'un modèle de composition récursive qui permet aux développeurs d'imbriquer des objets de validation pour construire des structures complexes et hiérarchiques. Cette approche permet la création d'une logique cohérente et modulaire qui empêche la duplication de code dans les grandes applications. Au-delà de la définition de schéma de base, la bibliothèque inclut un pipeline de coercition de type qui transforme les entrées brutes en formats attendus et un système d'agrégation d'erreurs structuré qui mappe les échecs à des chemins d'entrée spécifiques. Elle prend en charge des hooks de configuration pour l'intégration de dépendances externes et fournit des outils pour assainir les données, la rendant adaptée pour imposer des standards sur les requêtes API entrantes et les objets de données complexes.
Provides a library for defining type-safe schemas and complex validation rules to verify and sanitize input data structures in Ruby.