For data types, the strongest matches are quicktype/quicktype (Quicktype is a robust multi-language code generator that converts), colinhacks/zod (Zod is a TypeScript-first schema validation library that automatically) and ronami/meta-typing (Meta-typing is a TypeScript-focused type-level computation library that handles). python-jsonschema/jsonschema and ianstormtaylor/superstruct round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked data structure libraries for GitHub, ranked by stars and activity. Compare the top repositories and pick the right one.
Quicktype is a multi-language model generation engine that converts JSON and GraphQL schemas into type-safe models and serialization code. It functions as a JSON to type generator and a GraphQL type generator, producing strongly typed classes and interfaces across a wide array of target programming languages. The system derives formal schemas from sample data and transforms these definitions into native language objects. This enables the synchronization of shared data models across diverse tech stacks and the development of type-safe interfaces for consuming external APIs. The engine utilize
Quicktype is a robust multi-language code generator that converts JSON and GraphQL schemas into type-safe models and serialization code, directly matching the core type generation requirements.
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
Zod is a TypeScript-first schema validation library that automatically infers static types, supports nested data structures, and handles runtime validation with seamless TypeScript integration.
Meta-typing is a TypeScript metaprogramming toolkit that executes complex algorithms, mathematical operations, and data structure traversals entirely within compile-time type definitions. It functions as a type-level computation engine that evaluates numeric expressions, basic arithmetic, and aggregate calculations through recursive type evaluation and tuple-based data representations during the compilation phase. The library implements a comprehensive collection of advanced algorithms and data structures, including collection manipulation utilities for array slicing, filtering, merging, and
Meta-typing is a TypeScript-focused type-level computation library that handles complex type transformations and data structures at compile time, though it lacks direct JSON schema support and runtime validation features.
This project is a JSON Schema validation library and framework used to verify that data instances conform to declarative definitions. It functions as a validation engine that enforces structural constraints and data types, while also serving as a meta-validator to ensure schema definitions themselves are syntactically correct against official meta-schemas. The library is designed for extensibility, allowing users to define custom validation logic by mapping schema keywords to specialized callable functions. It includes a registry-based reference resolver for managing internal and external URI
This project is a dedicated Python library for validating JSON data against schemas, but it lacks the cross-language type generation features specified in the search.
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
Superstruct is a TypeScript and JavaScript validation library for defining schemas and checking nested data shapes, though it lacks cross-language type generation and JSON schema support.
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
Ajv is a high-performance JSON schema validation library that compiles schemas into optimized JavaScript functions, making it a strong tool for runtime data integrity though it lacks out-of-the-box type generation across other languages.
Marshmallow is a Python data serialization library and validation framework. It functions as a bridge that transforms complex application objects into primitive data types for storage or network transmission and vice versa. The library utilizes a schema-based approach to validate that incoming data conforms to specific types and constraints. It employs a two-way transformation pipeline consisting of separate load and dump phases to handle deserialization and serialization. The framework supports class-based schema definitions with declarative field validation and recursive schema nesting for
Marshmallow is a Python data serialization library and validation framework that handles schema definitions, deserialization, and nested data structures, though it is limited to Python rather than cross-language type generation.
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
Yup is a JavaScript schema validation library that handles runtime data shapes and type coercion with strong TypeScript integration and support for nested data structures, though it focuses primarily on JavaScript rather than cross-language type generation.
io-ts is a TypeScript runtime validation library that provides a composable codec system for decoding and encoding data at the boundaries of an application. It defines data schemas using structural types, where the shape of data determines its validity rather than nominal names, and produces runtime type guards from those definitions for efficient validation checks. The library is built around bidirectional codec mappings that combine decoding, encoding, and type checking into single reusable units. It supports a composable decoder pipeline where small validation steps can be chained together
It provides runtime schema definition, structural validation, and TypeScript integration through a composable codec system, though it lacks dedicated out-of-the-box JSON schema export and multi-language type generation features.
Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.
Valibot is a modular TypeScript validation library that handles runtime schema validation and type-safe data structures, though it is narrower in scope compared to larger multi-language type generators.
This project is a Python implementation of the JSON Schema specification, providing a library for verifying that data instances conform to defined schemas. It serves as a data validation framework capable of validating both the data itself and the schemas against official meta-schemas to ensure structural correctness. The library features a schema reference resolver that maps URIs to definitions, enabling the resolution of internal and remote references for modular schema management. It is designed for extensibility, allowing for the definition of custom keywords, custom type-checking logic,
This Python implementation of the JSON Schema specification handles structural validation and schema reference resolution, fitting the data validation category well despite lacking cross-language type generation features.
Pydantic is a data validation and serialization library that enforces schema constraints and performs type conversion on complex data structures. It utilizes standard Python type annotations to define data models, allowing developers to establish structured schemas that automatically enforce business rules and constraints without the need for custom domain-specific languages. The library distinguishes itself by transforming high-level model definitions into optimized code during initialization to minimize runtime overhead. It supports recursive validation for nested data structures and employ
Pydantic is a schema validation and serialization library for Python that uses standard type annotations to enforce data constraints, support nested structures, and integrate with JSON schemas.
protobuf.js is a JavaScript and TypeScript library for encoding and decoding structured data using the Protocol Buffers binary format. It functions as a dynamic parser that can load and process schemas at runtime, a JSON transcoder for converting messages to human-readable formats, and a framework for building transport-agnostic remote procedure call clients. The project distinguishes itself by offering both dynamic message handling and a static code generator that produces TypeScript declarations and JavaScript modules to reduce runtime overhead. It also provides a reflection API for definin
This JavaScript and TypeScript library provides schema parsing, data validation, serialization, and type generation for Protocol Buffers, making it a strong tool for cross-language data typing despite being focused on a single binary format rather than general JSON schemas.
This library provides a framework for defining typed, immutable data structures in PHP. It enables developers to construct structured objects from raw input arrays, ensuring consistent data shapes and schema integrity across different layers of an application. By enforcing strict property types and validation rules during instantiation, the library prevents invalid data states and simplifies the handling of complex information. The project distinguishes itself through its use of attribute-driven metadata, which allows for property renaming, custom validation, and serialization logic directly
This PHP library provides data typing, schema enforcement, and object transformation, though it focuses on a single language rather than cross-language type generation.
Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with runtime data validation, allowing users to define type-safe schemas that ensure unknown data adheres to specific structures during application execution. The project distinguishes itself by using set-theory type analysis to determine intersections and subtype compatibility, alongside JIT-compiled validation functions for optimized performance. It supports advanced type modeling through branded type constraints, recursive alias resolution, and the ability to generate runtime valida
ArkType is a TypeScript runtime validation library and schema orchestrator that handles schema definition and type-safe validation using set-theory analysis, though it is scoped specifically to TypeScript rather than cross-language type generation.
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
Typia is a compile-time TypeScript code generator that handles runtime validation, serialization, and schema generation, though its primary language mismatch in the metadata suggests it integrates with TypeScript workflows rather than being a Go library.
msgspec is a high-performance data modeling, serialization, and schema validation toolkit for Python. It serves as a type-safe serialization framework that integrates schema enforcement and data parsing into a single pass, functioning as both a data serialization library and a schema validation system based on standard Python type annotations. The project distinguishes itself through high-performance structural primitives, including compilation-based routine generation and zero-copy buffer parsing. It optimizes memory usage via garbage collection-aware layouts and reduces processing overhead
Msgspec is a high-performance Python serialization and schema validation toolkit that supports JSON schema and type-safe parsing, though it focuses specifically on Python rather than multi-language type generation.
Protocol Buffers is a language-neutral, platform-agnostic mechanism for serializing structured data. It provides a schema-driven toolchain that compiles declarative data definitions into type-safe source code, enabling consistent communication and strongly typed API contracts across services written in different programming languages. The project distinguishes itself through a highly efficient binary wire format that utilizes tag-based encoding and variable-width integer compression to minimize payload size and processing overhead. It supports robust evolutionary schema management, allowing d
Protocol Buffers is a foundational schema definition and serialization toolchain that compiles type-safe code across multiple languages, though it focuses more on binary wire formats than general-purpose JSON schema validation.
attrs is a Python library that automatically generates initialization, representation, equality, hashing, and ordering methods from declarative class attribute definitions. At its core, it provides a class decorator metaprogramming framework that intercepts class creation to rewrite the class body, producing dunder methods without manual boilerplate. The library includes a comprehensive attribute validation toolkit with built-in validators for type checks, range constraints, regex matching, length limits, and logical composition of validation rules. The library distinguishes itself through it
This Python library provides declarative class attribute definitions with built-in schema validation and serialization helpers, making it a fitting tool for data typing and validation despite lacking cross-language type generation.
Schema validation just got Pythonic
This Python library provides schema validation and data parsing using a Pythonic syntax, making it a fitting tool for data typing and validation though it does not cover all multi-language type generation features.
class-validator is a TypeScript class validation library that uses decorators to define constraints and rules for object properties. It functions as a decorator-based schema validator that ensures data integrity and structural correctness through a combination of synchronous checks and promise-based asynchronous rules. The library provides a recursive validation system for checking complex data hierarchies, including nested classes and individual elements within collections. It includes an object property whitelist utility capable of stripping undocumented properties or blocking unknown field
This TypeScript decorator-based validation library handles nested data structures and object constraints, though it lacks code generation and cross-language schema export features.
DefinitelyTyped is a community-maintained type store and centralized JavaScript type registry. It serves as a repository of static TypeScript type declarations for third-party JavaScript libraries, providing the necessary metadata to enable compile-time safety and editor intelligence for external modules not originally written in TypeScript. The project operates as a collaborative ecosystem where contributors define, validate, and maintain type declarations through a structured review process. This involves mapping type definition versions to specific library and compiler releases to ensure s
DefinitelyTyped is a community-driven repository of TypeScript type definitions and declarations, which addresses the visitor's need for static typing across JavaScript libraries even though it focuses on external declarations rather than runtime schema validation.
This library is a collection of zero-overhead C++ abstractions designed to replace primitive types with strict wrappers. By leveraging template metaprogramming, it enforces compile-time type safety and validates data integrity, ensuring that logic errors are caught during the build process rather than at runtime. The project distinguishes itself by providing a zero-cost abstraction layer that maps high-level type safety wrappers directly to machine instructions. It utilizes static type identity enforcement to treat logically distinct data as incompatible types, even when they share the same u
This C++ library provides strong type definitions and compile-time type safety through template metaprogramming, fitting the schema definition and validation domain despite lacking broader cross-language features.
This library provides a type system for Ruby applications, offering a framework for defining, validating, and coercing data structures. It serves as a foundation for maintaining data integrity by ensuring that input values conform to established schemas and constraints before they are processed by application logic. The system distinguishes itself through a functional approach to data transformation and validation. It utilizes an immutable registry for type definitions and employs algebraic operators to compose complex, nested schemas from smaller, reusable components. By wrapping validation
This Ruby library provides a type system and schema validation framework for defining, validating, and coercing nested data structures, though it is limited to the Ruby ecosystem and lacks multi-language type generation.
| المستودع | النجوم | اللغة | الترخيص | آخر تحديث |
|---|---|---|---|---|
| quicktype/quicktype | 13.8K | TypeScript | Apache-2.0 | |
| colinhacks/zod | 43K | TypeScript | MIT | |
| ronami/meta-typing | 1.6K | TypeScript | MIT | |
| python-jsonschema/jsonschema | 5K | Python | MIT | |
| ianstormtaylor/superstruct | 7.1K | TypeScript | MIT | |
| ajv-validator/ajv | 14.7K | TypeScript | MIT | |
| marshmallow-code/marshmallow | 7.2K | Python | MIT | |
| jquense/yup | 23.7K | TypeScript | MIT | |
| gcanti/io-ts | 6.8K | TypeScript | MIT | |
| open-circle/valibot | 8.8K | TypeScript | MIT |