19 repository-uri
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.
Acest proiect este o bibliotecă de support vector machine (SVM) implementată în C, oferind un motor pentru sarcini de clasificare și regresie. Funcționează ca o bibliotecă de kernel-uri pentru machine learning și un validator de modele statistice utilizat pentru a categorisi punctele de date și a prezice valori numerice continue. Biblioteca permite definirea de funcții kernel personalizate pentru a calcula similaritatea între punctele de date în seturi de date specializate. Include, de asemenea, instrumente pentru modelare probabilistică, cum ar fi estimarea apartenenței la clasă, densitatea datelor și limitele de distribuție. Capabilitățile largi acoperă antrenarea modelelor pentru seturi de date multi-clasă, inclusiv gestionarea datelor dezechilibrate prin funcții de pierdere ponderate. Sistemul oferă fluxuri de lucru pentru selecția hiperparametrilor și optimizarea modelelor folosind contururi de acuratețe și validare încrucișată stratificată. Utilitarele de preprocesare a datelor sunt incluse pentru validarea input-ului și scalarea atributelor pentru a normaliza magnitudinile caracteristicilor.
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 este o bibliotecă de validare a datelor JavaScript utilizată pentru a verifica dacă valorile, obiectele și array-urile îndeplinesc criterii specifice. Funcționează ca un validator bazat pe schemă și un motor de validare asincron, utilizând un API fluent pentru a construi secvențe de reguli și constrângeri înlănțuibile. Framework-ul se distinge prin capacitatea sa de a executa promise-uri și cereri de rețea în timpul procesului de validare pentru a determina dacă o valoare este validă. Permite crearea de scheme de validare reutilizabile și oferă un framework de reguli personalizabil unde utilizatorii își pot defini propria logică și pot configura modul în care sunt returnate rezultatele erorilor. Biblioteca acoperă o gamă largă de capabilități de verificare, inclusiv verificarea tipului de date pentru primitive și prototipuri, validarea conținutului șirurilor prin regex și seturi de caractere, și constrângeri numerice. De asemenea, suportă verificarea obiectelor complexe, validarea elementelor de colecție și array, și logica condiționată pentru inversarea regulilor sau gestionarea valorilor opționale. Sistemul este conceput pentru colectarea detaliată a erorilor, evaluând valorile față de fiecare regulă definită pentru a aduna o listă completă de eșecuri în loc să se oprească la prima eroare.
Functions as a tool for parsing and validating JavaScript data structures against predefined schemas.
Această bibliotecă este un framework PHP pentru impunerea integrității datelor și a regulilor de business prin validarea valorilor scalare și a structurilor complexe de obiecte față de constrângeri predefinite. Oferă o abordare structurată pentru inspectarea grafurilor de obiecte și a metadatelor proprietăților, asigurându-se că datele respectă cerințele așteptate înainte de a fi procesate de o aplicație. Framework-ul se distinge printr-un sistem de mapare bazat pe metadate care utilizează reflexia sau fișierele de configurare pentru a aplica reguli direct proprietăților obiectelor. Suportă orchestrarea regulilor contextuale, permițând dezvoltatorilor să organizeze constrângerile în grupuri logice care se declanșează selectiv pe baza stării aplicației sau a ciclului de viață al datelor. Sistemul folosește, de asemenea, un model de traversare bazat pe vizitatori pentru a inspecta structuri complexe de obiecte și utilizează lazy-loading pentru a instanția regulile de validare doar atunci când este necesar. Dincolo de validarea de bază, biblioteca include utilitare pentru formatarea datelor, comparații temporale și sanitizarea input-ului. Dispune de o arhitectură decuplată care separă definițiile constrângerilor de logica de execuție, facilitând crearea de reguli reutilizabile, specifice domeniului. Gestionarea erorilor este realizată printr-un strat de abstractizare a traducerii, care mapează rezultatele încălcărilor către mesaje localizate pentru raportare internaționalizată.
Checks individual scalar values against defined constraints to ensure they meet specific format or value requirements.
Dry-validation este o bibliotecă Ruby concepută pentru definirea schemelor type-safe și a regulilor complexe de validare pentru a verifica și curăța structurile de date de intrare. Aceasta oferă un framework formal pentru construirea logicii de validare modulare, asigurând că informațiile primite îndeplinesc cerințele specifice de business și formatele de date înainte de a fi procesate de o aplicație. Biblioteca utilizează un limbaj specific domeniului (DSL) pentru a declara regulile de validare, care sunt apoi analizate în obiecte executabile. Se distinge printr-un sistem bazat pe macro-uri care grupează logica comună de validare în scurtături reutilizabile, alături de un model de compoziție recursivă care permite dezvoltatorilor să imbrice obiecte de validare pentru a construi structuri complexe, ierarhice. Această abordare permite crearea unei logici consistente, modulare, care previne duplicarea codului în aplicații mari. Dincolo de definirea schemei de bază, biblioteca include un pipeline de coerciție a tipurilor care transformă input-ul brut în formatele așteptate și un sistem structurat de agregare a erorilor care mapează eșecurile la căi specifice de intrare. Suportă hook-uri de configurare pentru integrarea dependențelor externe și oferă instrumente pentru curățarea datelor, făcând-o potrivită pentru impunerea standardelor pe cererile API primite și obiectele de date complexe.
Provides a library for defining type-safe schemas and complex validation rules to verify and sanitize input data structures in Ruby.