19 repositorios
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.
Este proyecto es una librería de máquinas de vectores de soporte (SVM) implementada en C, que proporciona un motor para tareas de clasificación y regresión. Funciona como una librería de kernel de machine learning y un validador de modelos estadísticos utilizado para categorizar puntos de datos y predecir valores numéricos continuos. La librería permite la definición de funciones de kernel personalizadas para calcular la similitud entre puntos de datos en datasets especializados. También incluye herramientas para modelado probabilístico, como la estimación de pertenencia a clases, densidad de datos y límites de distribución. Las capacidades cubren el entrenamiento de modelos para datasets multiclase, incluyendo la gestión de datos desequilibrados mediante funciones de pérdida ponderadas. El sistema proporciona flujos de trabajo para la selección de hiperparámetros y optimización de modelos utilizando contornos de precisión y validación cruzada estratificada. Se incluyen utilidades de preprocesamiento de datos para la validación de entradas y el escalado de atributos para normalizar las magnitudes de las características.
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 es una biblioteca de validación de datos de JavaScript utilizada para verificar que los valores, objetos y arrays cumplan con criterios específicos. Funciona como un validador basado en esquemas y un motor de validación asíncrono, utilizando una API fluida para construir secuencias de reglas y restricciones encadenables. El framework se distingue por su capacidad para ejecutar promesas y solicitudes de red durante el proceso de validación para determinar si un valor es válido. Permite la creación de esquemas de validación reutilizables y proporciona un framework de reglas personalizable donde los usuarios pueden definir su propia lógica y configurar cómo se devuelven los resultados de error. La biblioteca cubre una amplia gama de capacidades de verificación, incluyendo verificación de tipos de datos para primitivas y prototipos, validación de contenido de cadenas mediante regex y conjuntos de caracteres, y restricciones numéricas. También admite la verificación de objetos complejos, validación de elementos de colecciones y arrays, y lógica condicional para invertir reglas o manejar valores opcionales. El sistema está diseñado para la recolección detallada de errores, evaluando valores contra cada regla definida para reunir una lista completa de fallos en lugar de detenerse en el primer error.
Functions as a tool for parsing and validating JavaScript data structures against predefined schemas.
Esta librería es un framework de PHP para aplicar la integridad de datos y las reglas de negocio validando valores escalares y estructuras de objetos complejas contra restricciones predefinidas. Proporciona un enfoque estructurado para inspeccionar grafos de objetos y metadatos de propiedades, asegurando que los datos cumplan con los requisitos esperados antes de ser procesados por una aplicación. El framework destaca por un sistema de mapeo impulsado por metadatos que utiliza reflexión o archivos de configuración para aplicar reglas directamente a las propiedades de los objetos. Admite la orquestación de reglas contextuales, permitiendo a los desarrolladores organizar las restricciones en grupos lógicos que se activan selectivamente según el estado de la aplicación o el ciclo de vida de los datos. El sistema también emplea un patrón de recorrido basado en visitantes para inspeccionar estructuras de objetos complejas y utiliza carga perezosa (lazy-loading) para instanciar reglas de validación solo cuando es necesario. Más allá de la validación central, la librería incluye utilidades para el formato de datos, comparaciones temporales y saneamiento de entradas. Cuenta con una arquitectura desacoplada que separa las definiciones de restricciones de la lógica de ejecución, permitiendo la creación de reglas reutilizables y específicas del dominio. El manejo de errores se gestiona a través de una capa de abstracción de traducción, que mapea los resultados de las violaciones a mensajes localizados para informes internacionalizados.
Checks individual scalar values against defined constraints to ensure they meet specific format or value requirements.
Dry-validation es una biblioteca de Ruby diseñada para definir esquemas con seguridad de tipos y reglas de validación complejas para verificar y sanitizar estructuras de datos de entrada. Proporciona un framework formal para construir lógica de validación modular, asegurando que la información entrante cumpla con requisitos comerciales y formatos de datos específicos antes de ser procesada por una aplicación. La biblioteca utiliza un lenguaje específico de dominio (DSL) para declarar reglas de validación, que luego se analizan en objetos ejecutables. Destaca por un sistema basado en macros que agrupa la lógica de validación común en atajos reutilizables, junto con un modelo de composición recursiva que permite a los desarrolladores anidar objetos de validación para construir estructuras complejas y jerárquicas. Este enfoque permite la creación de lógica consistente y modular que evita la duplicación de código en aplicaciones grandes. Más allá de la definición de esquema central, la biblioteca incluye un pipeline de coerción de tipos que transforma la entrada bruta en formatos esperados y un sistema de agregación de errores estructurado que mapea las fallas a rutas de entrada específicas. Admite ganchos de configuración para la integración de dependencias externas y proporciona herramientas para sanitizar datos, lo que la hace adecuada para aplicar estándares en solicitudes de API entrantes y objetos de datos complejos.
Provides a library for defining type-safe schemas and complex validation rules to verify and sanitize input data structures in Ruby.