30 open-source projects similar to googleapis/googleapis, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Swagger Codegen is a template-driven engine and multi-language toolkit used to generate API client SDKs, server stubs, and human-readable documentation from OpenAPI specifications. It translates these specifications into functional libraries and boilerplate routing code across various target programming languages. The tool utilizes a pluggable generator module system and an integrated template engine, allowing for the customization of generated source code and the creation of new language-specific generators. It supports flexible specification sourcing via local files, remote HTTP endpoints,
Hertz is a high-performance Go HTTP framework designed for building scalable microservices, RESTful APIs, and AI applications. It functions as a high-performance web server and a communication framework for microservices, utilizing non-blocking I/O and zero-copy memory management to handle high-concurrency traffic. The project distinguishes itself through a microservices communication toolkit that supports high-efficiency remote procedure calls via gRPC and Thrift protocols. It implements an asynchronous middleware engine based on an onion model, allowing for a pluggable request-response pipe
gRPC is a language-agnostic remote procedure call framework designed for high-performance communication between distributed services. It utilizes a structured interface definition language to generate consistent client stubs and server skeletons, enabling applications to invoke methods on remote servers as if they were local objects. By leveraging the HTTP/2 transport layer, the framework supports efficient binary serialization and multiplexed data exchange across diverse programming environments. The framework distinguishes itself through its support for flexible communication patterns, incl
The C++ REST SDK is a library for asynchronous HTTP and RESTful communication in native C++ applications. It provides a non-blocking network client for sending requests and receiving responses, a JSON parser for serializing and deserializing data, and a WebSocket client library for real-time, full-duplex communication. The project includes a dedicated OAuth2 authentication client to manage access tokens and authorization flows for secure communication with protected cloud resources. It utilizes a task-based asynchronous model to coordinate background operations and keep application interfaces
Model Context Protocol is a standardized framework for connecting large language models to external data sources and executable tools. It enables the creation of a universal interface where servers expose tools, resources, and prompts that can be discovered and utilized by various AI clients. The protocol utilizes a JSON-RPC message system that is transport-agnostic, supporting both standard input/output for local processes and HTTP with server-sent events for remote connections. It emphasizes security and control by delegating model sampling to the client to keep API keys secure from servers
userver is a comprehensive C++ backend application platform and asynchronous framework designed for building scalable microservices. It provides a high-performance execution environment for deploying services that communicate via gRPC and HTTP using a middleware-based request pipeline. The platform distinguishes itself through a distributed service orchestration toolset that manages shared state, distributed locking, and dynamic configuration updates without requiring process restarts. It utilizes a coroutine-based asynchronous execution model and event-loop network I/O to handle high-concurr
dbt-core is a command-line framework for transforming data within a warehouse using modular SQL and version control. It functions as a data transformation engine that enables users to define data structures and business logic through declarative configuration files, which the system then compiles into executable code. By managing complex data dependencies through a directed acyclic graph, it ensures that transformation tasks execute in the correct order while maintaining a manifest-driven state to track lineage and execution history. The project distinguishes itself through an adapter-based d
The inspector is a diagnostic and validation tool for the Model Context Protocol. It provides an interactive interface and a transport proxy to discover, inspect, and execute the tools, prompts, and resources provided by an MCP server. The project serves as a debugger and compliance tester to verify that server implementations adhere to the protocol specification and JSON-RPC standards. It allows for real-time monitoring of message exchanges and logs between clients and servers across various transport layers, such as standard input/output and Server-Sent Events. The tool covers a broad rang
Apache Dubbo Go is a Go language implementation of the Apache Dubbo framework designed for building high-performance microservices. It serves as a cross-language RPC framework and microservices communication layer that enables remote procedure calls between services written in different programming languages. The framework functions as a service governance toolset and a distributed service mesh proxy, allowing data planes to connect with external control planes in proxy or proxyless modes. It specifically provides a compatibility layer to facilitate communication between Go and Java-based ser
Kiota is a multi-language SDK generator and REST API client orchestrator that transforms OpenAPI descriptions into strongly typed client libraries. It provides a framework for managing API specifications and generating typed interfaces to eliminate manual boilerplate development. The project utilizes a template-driven source emission system to map API specifications to native language types. It ensures consistency across environments using lock-file version syncing and organizes API endpoints into a nested object structure based on the hierarchical mapping of URI paths. The toolset includes
Glad is a cross-platform graphics API loader generator that produces source code for loading function pointers based on official specifications. It functions as a multi-language tool designed to ensure consistent communication between applications and graphics drivers across different operating systems and hardware. The tool utilizes a plugin-based architecture to generate loading code for multiple programming languages. It employs specification-driven code generation, parsing official XML or JSON files to ensure the correctness of function signatures and mapping optional API extensions to sp
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
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
Fern is a toolset for managing API specifications, generating type-safe client libraries, and producing hosted developer documentation. It provides a utility for validating, transforming, and exporting API definitions into standardized OpenAPI formats, serving as a system to maintain a consistent source of truth for API designs. The project differentiates itself through an automated SDK distribution pipeline that publishes generated libraries to package managers such as npm, PyPI, Maven, and NuGet. It also includes an AI-powered search assistant trained on API and SDK specifications to answer
AutoRest is a multi-language SDK generator and OpenAPI code generator designed to produce consistent software development kits from a single API definition. It functions as a REST API client generator that transforms Swagger and OpenAPI specification files into functional, typed HTTP client libraries. The tool automates the SDK development workflow by converting design documents into source code, ensuring that the resulting implementations match the defined API contract across different programming languages. The system employs specification-driven development using an intermediate represent
springdoc-openapi is a library and toolset that analyzes Spring applications at runtime to produce machine-readable OpenAPI specifications in JSON and YAML formats. It serves as an integrator that extracts API metadata from Java source code and annotations to automate documentation for Spring-based services. The project distinguishes itself through its ability to aggregate API specifications from multiple remote microservices into a single unified interface and provide multiple visualization options, including Swagger UI and Scalar. It also offers a dedicated plugin for exporting documentatio
Spectral is a programmable linting engine and validation tool designed to enforce style guidelines and schema correctness within OpenAPI specifications and JSON configuration files. It functions as a rule-based validator that analyzes structured text files to ensure data consistency and adherence to predefined constraints. The engine utilizes a configuration-driven execution model, allowing users to manage pluggable rule sets and integrate JSON Schema definitions. It supports the creation of custom function-based rules to define complex validation logic beyond static declarations. The projec
yapi is an API management platform designed to coordinate the development of RESTful APIs between frontend, backend, and quality assurance teams. It functions as a centralized system for documenting interface specifications, simulating server responses, and validating requests through a built-in testing client. The platform features an API code generator that transforms interface specifications into typed request functions and data models across multiple programming languages. It also includes a mock server capable of generating synthetic responses using schema-based generators and rule-based
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
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
F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite
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
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
apidoc is a source-code API documentation generator that parses specialized annotations within comments to automatically create a searchable API documentation website. It functions as an annotation-based API parser and a static documentation site generator, extracting definitions directly from the codebase to maintain a synchronized reference. The tool is designed as a multi-language parser, using configurable regular expressions to extract metadata from various programming languages. It can also serve as a JSON API definition exporter, converting source-code comments into raw JSON files for
hello-sql is a collection of educational resources and practical guides designed for mastering relational database design, SQL query writing, and schema mapping. It provides a set of lessons and exercises for practicing the creation and manipulation of data within relational databases. The project includes a database schema workbook for designing tables and mapping relationships, alongside a dedicated SQL query guide for writing selection, filtering, and aggregation statements. These resources are delivered through a relational database tutorial and a broader SQL learning resource. The mater
tarpc is a remote procedure call framework for Rust that generates server traits and client stubs for network communication. It provides an asynchronous service interface that allows remote functions to be called as if they were local asynchronous tasks. The framework utilizes a serialized transport layer to move request and response data via TCP sockets, Unix domain sockets, or in-process channels. It includes a request lifecycle interceptor for injecting custom logic to handle authorization, throttling, and load balancing, as well as a distributed request telemetry system that attaches dead
Connexion is a spec-first Python web framework designed to derive server behavior and validation logic directly from a predefined API contract. It enables the development of web services by using an OpenAPI specification to automatically handle routing, request validation, and response serialization. The framework distinguishes itself by acting as an OpenAPI request validator and mock server. It can simulate API behavior by serving example responses based on specification schemas, allowing for frontend development and prototyping before a backend implementation is completed. Additionally, it
This project is a blockchain specification registry and version-controlled archive used to document and track technical specifications for the Ethereum blockchain protocol. It serves as a network protocol governance framework for submitting and validating community-driven technical enhancements. The repository manages the lifecycle of Ethereum Improvement Proposals through a structured process that includes drafting, submitting, and archiving specifications to ensure ecosystem compatibility. It utilizes a technical proposal validation system to check the format and syntax of documents before
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
NSwag is a toolchain for the .NET ecosystem designed to automate the generation of API documentation, server controllers, and typed client proxies from OpenAPI contracts. It functions as a contract-first API tool that enables the creation of server-side boilerplate and client libraries based on predefined specifications. The suite distinguishes itself through its ability to extract OpenAPI specifications from existing ASP.NET Core code via reflection and its capacity to generate type-safe TypeScript client proxies. It also provides an interactive documentation server that hosts and renders th