# Schema definition languages

> AI-ranked search results for `schema definition languages` on awesome-repositories.com — ordered by an LLM for relevance, best match first. 115 total matches; showing the top 25.

Explore on the web: https://awesome-repositories.com/q/schema-definition-languages

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [this search on awesome-repositories.com](https://awesome-repositories.com/q/schema-definition-languages).**

## Results

- [marshmallow-code/marshmallow](https://awesome-repositories.com/repository/marshmallow-code-marshmallow.md) (7,239 ⭐) — 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
- [keleshev/schema](https://awesome-repositories.com/repository/keleshev-schema.md) (2,943 ⭐) — Schema validation just got Pythonic
- [protobufjs/protobuf.js](https://awesome-repositories.com/repository/protobufjs-protobuf-js.md) (10,558 ⭐) — 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
- [google/flatbuffers](https://awesome-repositories.com/repository/google-flatbuffers.md) (25,558 ⭐) — FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require efficient, zero-copy data access. By organizing data in a structured binary format, it allows applications to read and write complex data structures directly from memory-mapped buffers without the need for intermediate parsing or temporary object allocation.

The project distinguishes itself through a schema-driven approach that balances high-performance access with long-term data evolution. It utilizes a unique memory layout featuring relative offsets and inline fixed-size structu
- [jquense/yup](https://awesome-repositories.com/repository/jquense-yup.md) (23,673 ⭐) — 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
- [sqlc-dev/sqlc](https://awesome-repositories.com/repository/sqlc-dev-sqlc.md) (17,882 ⭐) — sqlc is a code generation tool that compiles raw SQL queries into type-safe application code. By analyzing SQL statements against database schema definitions during the build process, it eliminates the need for manual data mapping and prevents runtime type errors.

The project functions as a schema-aware generator that translates database column types into native language primitives. It distinguishes itself through a modular, plugin-based architecture that allows for the extension of the generation pipeline to support diverse programming languages and custom frameworks beyond its default capab
- [googleapis/googleapis](https://awesome-repositories.com/repository/googleapis-googleapis.md) (8,439 ⭐) — This project is a centralized API specification registry and governance framework. It serves as a source of truth for structured API schemas, gRPC definitions, and data models used to maintain consistency across a large ecosystem of services.

The system functions as a multi-language client generator, transforming standardized interface definitions into executable source code and language-specific libraries. This process ensures that client libraries and technical documentation remain synchronized by deriving them directly from the original interface definitions.

The project also covers the m
- [typestack/class-validator](https://awesome-repositories.com/repository/typestack-class-validator.md) (11,796 ⭐) — 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
- [pydantic/pydantic](https://awesome-repositories.com/repository/pydantic-pydantic.md) (26,932 ⭐) — 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
- [hapijs/joi](https://awesome-repositories.com/repository/hapijs-joi.md) (21,192 ⭐) — 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
- [prisma/prisma](https://awesome-repositories.com/repository/prisma-prisma.md) (46,366 ⭐) — Prisma is a database toolkit that provides a unified access layer for interacting with relational and document databases. It centers on a declarative schema modeling approach, where developers define their data structures in a human-readable language. This schema serves as the single source of truth, from which the toolkit automatically generates type-safe database clients that provide compile-time validation and editor autocomplete for all data operations.

The project distinguishes itself through a high-performance, Rust-based query engine that handles query planning and connection pooling o
- [protocolbuffers/protobuf](https://awesome-repositories.com/repository/protocolbuffers-protobuf.md) (71,359 ⭐) — 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
- [oai/openapi-specification](https://awesome-repositories.com/repository/oai-openapi-specification.md) (31,048 ⭐) — The OpenAPI Specification is a formal, vendor-neutral standard for defining the structure, endpoints, and data models of HTTP-based web services. By providing a machine-readable interface definition language, it enables developers to establish clear API contracts that ensure consistency across diverse programming languages and backend systems.

This specification promotes a design-first development approach, where interface behavior is defined through static, declarative configuration files rather than imperative code. This structure allows for the automated generation of type-safe client libr
- [holistics/dbml](https://awesome-repositories.com/repository/holistics-dbml.md) (3,520 ⭐) — DBML is a domain-specific language and schema definition language used for documenting database architecture and design. It provides a human-readable text format for defining database tables, columns, and relationships in a standardized way.

The project functions as a relational schema parser and SQL schema generator. It transforms declarative design specifications into an abstract syntax tree for programmatic manipulation and converts these definitions into executable SQL statements across various database dialects.

The system covers relational data modeling, database schema design, and arc
- [open-circle/valibot](https://awesome-repositories.com/repository/open-circle-valibot.md) (8,769 ⭐) — Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.
- [colinhacks/zod](https://awesome-repositories.com/repository/colinhacks-zod.md) (43,036 ⭐) — 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
- [middleapi/orpc](https://awesome-repositories.com/repository/middleapi-orpc.md) (4,862 ⭐) — orpc is a contract-first API development framework for TypeScript that starts with a shared contract definition and generates type-safe clients and servers from that single source of truth. It guarantees end-to-end type safety, meaning inputs, outputs, errors, and streaming data are all checked at compile time across the client–server boundary.

What distinguishes orpc from typical RPC frameworks is its ability to export contracts as OpenAPI specifications, to optimize server-side rendering by calling API handlers directly inside the server process, and to support real‑time bidirectional commu
- [alipay/fury](https://awesome-repositories.com/repository/alipay-fury.md) (4,412 ⭐) — Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to facilitate cross-language data exchange. It includes an interface definition language compiler that translates schema definitions into idiomatic native types and serialization boilerplate across multiple languages.

The project distinguishes itself through a zero-copy binary reader that allows specific fields to be accessed without deserializing the entire object, as well as an object graph serializer that preserves circular references and referential integrity. It also features a
- [drawdb-io/drawdb](https://awesome-repositories.com/repository/drawdb-io-drawdb.md) (37,382 ⭐) — DrawDB is a browser-based visual database modeler designed for creating, organizing, and documenting relational database schemas. It provides an interactive interface for drag-and-drop entity relationship mapping, allowing users to plan and visualize complex data architectures through a centralized workspace.

The platform distinguishes itself by enabling real-time collaborative design, allowing teams to iterate on schemas while maintaining a single source of truth. It functions entirely on the client side, utilizing local memory for state management and saving data directly to the local file
- [vega/ts-json-schema-generator](https://awesome-repositories.com/repository/vega-ts-json-schema-generator.md) (1,708 ⭐) — Ts-json-schema-generator is a command-line tool and Node.js library that automatically generates standard JSON validation schemas directly from TypeScript source files and type definitions. Operating as a static code analyzer and schema compilation engine, it inspects type definitions and interfaces to understand structural data shapes without requiring runtime execution. It uses static program analysis by initializing a virtual compiler instance to resolve complex generic types, imports, and type relationships across source files.

The project translates extracted types into standard validati
- [drizzle-team/drizzle-orm](https://awesome-repositories.com/repository/drizzle-team-drizzle-orm.md) (34,835 ⭐) — Drizzle ORM is a TypeScript-native database toolkit providing type-safe SQL query building, schema management, and automated migrations across PostgreSQL, MySQL, SQLite, and SingleStore.
- [ardatan/graphql-tools](https://awesome-repositories.com/repository/ardatan-graphql-tools.md) (5,425 ⭐) — graphql-tools is a GraphQL schema orchestration library and toolkit designed for building, merging, and extending schemas. It provides an SDL-first schema generator that transforms Schema Definition Language strings and resolver maps into executable schema instances.

The project features a dedicated schema stitching tool for combining multiple independent GraphQL schemas into a single unified API gateway. It also includes a GraphQL mocking engine that simulates backends by generating synthetic data based on schema definitions.

The toolkit covers a broad range of composition capabilities, inc
- [apollographql/graphql-tools](https://awesome-repositories.com/repository/apollographql-graphql-tools.md) (5,426 ⭐) — graphql-tools is a toolkit for constructing, modifying, and combining GraphQL schemas. It provides a suite of utilities for parsing Schema Definition Language, managing resolver bindings, and assembling executable schemas.

The project enables the composition of unified GraphQL gateways by merging multiple independent subschemas through schema stitching. This includes capabilities for entity type merging, type extension, and field resolution delegation to route requests across different services.

The toolkit also includes a mocking engine that generates simulated GraphQL schemas and data. Thi
- [dry-rb/dry-validation](https://awesome-repositories.com/repository/dry-rb-dry-validation.md) (1,422 ⭐) — Dry-validation is a Ruby library designed for defining type-safe schemas and complex validation rules to verify and sanitize input data structures. It provides a formal framework for constructing modular validation logic, ensuring that incoming information meets specific business requirements and data formats before it is processed by an application.

The library utilizes a domain-specific language to declare validation rules, which are then parsed into executable objects. It distinguishes itself through a macro-driven system that bundles common validation logic into reusable shortcuts, alongs
- [seaql/sea-orm](https://awesome-repositories.com/repository/seaql-sea-orm.md) (9,410 ⭐) — Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly typed objects. It provides a relational database mapper for performing CRUD operations across MySQL, PostgreSQL, and SQLite, and includes a programmatic dynamic query builder for constructing complex SQL statements.

The project distinguishes itself by providing a GraphQL schema generator that transforms database entities into typed schemas with built-in pagination and filters. It also features a dedicated database migration tool for defining and applying versioned schema chan
