Lainspec
Lainspec is a declarative specification language designed to describe data models and service interfaces in distributed systems. It aims to provide a language-agnostic contract that can be validated at runtime and used to generate client and server code across programming languages.
It originated from the Lainspec Initiative, a community project launched in the late 2010s to improve interoperability
Design and features: Lainspec defines modules, types, and interfaces. Its type system includes primitives, records, unions,
Syntax and tooling: The syntax is human-readable, YAML-inspired, with a formal grammar for parsing. Tooling includes
Usage and reception: Lainspec has seen adoption in mid-sized organizations for API contracts and data-pipeline configurations.
See also: API specification languages, OpenAPI, JSON Schema, Protocol Buffers, Thrift, Interface Definition Language.