22 repositorios
Tools that automatically produce server stubs and client libraries from API interface definitions.
Distinguishing note: Focuses on automated generation of backend stubs from interface specifications.
Explore 22 awesome GitHub repositories matching development tools & productivity · API Code Generators. Refine with filters or upvote what's useful.
go-zero is a toolkit for building cloud-native distributed services in Go. It functions as a microservices framework that provides built-in support for RPC, web APIs, and service discovery. The project includes a microservices code generator that produces production-ready server and client boilerplate from API descriptions. This automation is supported by a domain-specific language and pattern libraries designed to ensure compatibility with AI assistants. The framework incorporates a resilience suite for distributed system reliability, utilizing adaptive circuit breakers, rate limiting, and
Provides a utility to automatically produce server stubs and client libraries from API interface definitions.
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
Produces typed request functions and data models in multiple languages from interface specifications.
This project is a command-line tool and template-based scaffolding engine that transforms API interface specifications into functional client libraries and server stubs. By automating the creation of type-safe SDKs and boilerplate code, it bridges the gap between service definitions and implementation, allowing developers to maintain synchronized codebases across many programming languages. The tool distinguishes itself through a portable execution model that utilizes containerized build isolation to ensure identical output regardless of the host environment. It features a modular, plugin-bas
Generates boilerplate server-side code and data models from API definitions to ensure consistent implementation.
Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame
Provides tools to automatically produce server stubs and client libraries from API interface definitions.
APIJSON is a no-code database API generator and object-relational mapping layer that automatically transforms relational database schemas into functional HTTP endpoints. It provides a system for generating CRUD operations and technical documentation without the need to write manual backend code. The project is distinguished by its ability to allow clients to define custom JSON response structures and field aliases directly within the request. It features dynamic query translation that converts structured JSON parameters into optimized SQL for complex relational joins, subqueries, and data agg
Automatically generates CRUD HTTP endpoints and technical documentation based on relational database schemas.
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,
Generates client libraries and server stubs by processing API definition files stored on the local filesystem.
This project is a Spring Boot API starter kit and RESTful project skeleton designed for building backend services. It provides a foundational codebase that implements a layered service architecture and standardized directory structures to organize controllers, services, and data mappers. The project features a MyBatis CRUD boilerplate generator that automates the creation of models and controllers from database tables using customizable templates. It includes a security framework for protecting endpoints via interface signature authentication to verify user identity and request authorization.
Automates the creation of data access layers to reduce manual coding for database operations.
This project is an end-to-end encrypted communication client designed for secure messaging and identity management using public-key cryptography. It provides a cryptographic identity manager to verify authenticity across platforms and integrates a local messaging daemon to synchronize encrypted data and handle network communication. The system features a remote encrypted file system that mounts encrypted storage as local directories for direct file interaction. It also includes automated identity provisioning for registering and authenticating new devices and automation bots using cryptograph
Provides tools to automatically generate client libraries and server stubs from API interface definitions.
Twirp es un framework RPC de Protocol Buffers diseñado para implementar la comunicación de microservicios distribuidos con tipado fuerte sobre HTTP. Funciona como un framework de comunicación de microservicios y generador de código de API que produce stubs de cliente e interfaces de servidor fuertemente tipados a partir de definiciones de esquema para eliminar el boilerplate de red manual. El framework garantiza la compatibilidad con la infraestructura web existente ejecutando llamadas a procedimientos remotos sobre transporte HTTP estándar. Utiliza contratos basados en esquemas como una única fuente de verdad para permitir la interoperabilidad entre lenguajes y desacoplar la lógica de negocio del transporte de red. El sistema cubre varias áreas de capacidad principales, incluyendo el enrutamiento basado en interfaces, la serialización de datos en múltiples formatos (JSON y binario) y middleware para el ciclo de vida de las solicitudes para preocupaciones transversales. También proporciona un sistema de mapeo de errores estandarizado para traducir fallos de servicio en códigos legibles por máquina e incluye herramientas para la verificación de compatibilidad del cliente.
Automates the production of server stubs and client libraries from API interface definitions.
NSwag is an OpenAPI toolchain for .NET that provides a suite of generators for converting OpenAPI specifications and JSON schemas into clients, server stubs, and structured documentation. It enables the creation of type-safe client libraries and data transfer objects, as well as the generation of OpenAPI specifications by analyzing .NET controllers. The project supports contract-first API development by generating server controller stubs from specifications and offers dedicated TypeScript API integration to ensure type safety in frontend applications. It also provides tools for hosting intera
Automatically produces server stubs and controller classes from API interface definitions.
Simplebank is a financial services backend application built with Go that manages bank accounts and transfers. It utilizes a dual-protocol interface, providing both gRPC and REST APIs via Protocol Buffers to support different client communication requirements. The system implements a PostgreSQL data layer with versioned schema migrations and type-safe query generation. It handles financial operations through atomic fund transfers and balance change tracking to maintain consistent audit trails. The architecture includes an asynchronous task worker system using a message queue to offload long-
Produces server stubs and client libraries from Protocol Buffer interface definitions.
Goa is a design-first Go framework that generates server and client code, documentation, and request validation from a single declarative domain-specific language (DSL). At its core, it provides a Go DSL for defining API endpoints, data types, and error models, which compiles into fully functional HTTP and gRPC server stubs, client packages, and OpenAPI specifications. The framework distinguishes itself through its plugin-extensible code generation pipeline, allowing custom code generation steps, middleware, or transport layers to be added via plugins. It supports multiple transport protocols
Produces fully functional HTTP and gRPC server stubs from the API design specification.
TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releas
Writes emitters and decorators to produce client libraries, server stubs, or documentation in any target format.
MyBatis Generator es una herramienta que inspecciona tablas de bases de datos para producir automáticamente objetos de modelo, interfaces de mapper y archivos de configuración SQL. Funciona como un mapeador de esquemas de base de datos y generador de operaciones CRUD, traduciendo columnas de bases de datos relacionales en clases y registros específicos del lenguaje. El proyecto es un generador de código extensible que permite la personalización de archivos de salida a través de un mecanismo de plugins. Este framework permite la adición de lógica de negocio específica o la modificación del proceso de generación para producir archivos de salida adaptados. El generador cubre una amplia gama de capacidades, incluyendo la implementación de consultas dinámicas, la creación de modelos inmutables y la automatización de operaciones estándar de creación, lectura, actualización y eliminación. Admite el mapeo de esquemas de bases de datos con claves primarias virtuales y puede generar código para múltiples lenguajes, incluido Kotlin. El proceso de generación puede ejecutarse mediante herramientas de línea de comandos, llamadas directas a funciones o como un plugin de herramienta de construcción integrado en pipelines de integración continua.
Creates model objects and configuration files based on database tables to automate data operations.
Blog.Core es un boilerplate de backend listo para producción para construir API empresariales y microservicios utilizando ASP.NET Core. Proporciona una infraestructura fundamental para sistemas distribuidos, incluyendo herramientas para scaffolding de base de datos y la implementación de frameworks de API multi-inquilino (multi-tenant). El proyecto se distingue por la generación automatizada de la capa de datos, que produce modelos de entidad y capas de repositorio directamente a partir de esquemas de base de datos. Implementa un sistema centralizado de gestión de identidad utilizando protocolos estándar de servidor de identidad para manejar la autenticación y autorización a través de múltiples clientes y proyectos. El framework cubre una amplia gama de capacidades empresariales, incluyendo procesamiento de mensajes asíncronos mediante buses de eventos, caché de memoria distribuida y división de tráfico de base de datos de lectura-escritura. Incorpora control de acceso basado en roles con restricciones de datos departamentales y proporciona observabilidad del sistema mediante perfilado de rendimiento de API y auditoría de actividades. El sistema también incluye soporte para comunicación bidireccional servidor-cliente para notificaciones push, integración de búsqueda de texto completo y configuración centralizada de servicios.
Automatically creates model, service, and repository classes from existing database tables using templates.
PostgREST es una herramienta que transforma automáticamente un esquema de base de datos PostgreSQL en una API RESTful lista para producción. Sirve como capa de acceso a base de datos y motor de consultas que mapea solicitudes HTTP directamente a consultas SQL, proporcionando una interfaz low-code para ejecutar operaciones de creación, lectura, actualización y eliminación (CRUD) sin requerir código boilerplate manual. El proyecto se distingue por utilizar la generación de API basada en esquemas y el descubrimiento basado en metadatos para exponer las tablas de la base de datos como recursos navegables. Extiende las capacidades CRUD estándar mediante la ejecución de SQL personalizado y con plantillas, un sistema de middleware basado en plugins para inyectar lógica de negocio y la capacidad de cargar librerías compartidas externas en tiempo de ejecución. El sistema cubre una amplia gama de capacidades, incluyendo consultas de datos complejas con joins de tablas, agregaciones y búsqueda de texto completo. Implementa un framework de seguridad integral que incluye autenticación basada en tokens, permisos granulares a nivel de tabla y gestión de CORS. Las características operativas adicionales incluyen caché de resultados local, monitoreo de salud del servidor y conectividad para SQL distribuido y Amazon Redshift. La instalación es compatible con múltiples entornos, incluyendo como binario independiente o mediante plantillas de automatización de Docker Compose y Heroku.
Automatically transforms database schemas into functional REST HTTP endpoints without manual boilerplate code.
grpc-web es una capa de traducción y sistema de proxy que permite a los navegadores web comunicarse con servicios backend de gRPC. Consiste en un proxy gRPC Web que convierte las solicitudes HTTP y WebSocket basadas en navegador en llamadas gRPC estándar, junto con un cliente gRPC de TypeScript para realizar llamadas a procedimientos remotos fuertemente tipadas desde navegadores o entornos Node.js. El proyecto cuenta con un puente de streaming bidireccional que utiliza WebSockets para eludir las limitaciones del navegador, permitiendo la comunicación full-duplex y el streaming de datos del lado del cliente. Incluye un generador de código de buffers de protocolo que analiza archivos de esquema para producir clases de solicitud y respuesta tipadas en JavaScript y TypeScript. El sistema cubre una amplia gama de capacidades, incluyendo selección de transporte, gestión de CORS para restringir orígenes aprobados y conectividad backend segura mediante cifrado TLS. También proporciona monitoreo de tráfico de proxy para rastrear solicitudes y conexiones a través de métricas y endpoints de depuración.
Parses .proto files to generate typed JavaScript and TypeScript request and response classes.
Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing access control. It functions as a policy-as-code platform, allowing teams to define, test, and distribute authorization rules using declarative YAML or JSON configurations. By decoupling access logic from application code, it enables consistent permission enforcement across diverse service stacks. The project distinguishes itself through its ability to translate high-level authorization policies into native database query filters. This capability allows applications to enforce sec
Defines query plans that enforce resource access conditions at the database level.
Este proyecto es un plugin de validación de buffers de protocolo y generador de código que crea lógica de validación consistente en múltiples lenguajes de programación. Funciona como una extensión de compilador para el toolchain de Protocol Buffer, permitiendo a los desarrolladores definir restricciones semánticas directamente dentro de archivos de esquema para asegurar la consistencia de los datos. La herramienta utiliza opciones personalizadas para incrustar reglas de validación en definiciones de mensajes, mapeando estas restricciones de esquema a patrones de implementación específicos del lenguaje. Emplea comprobación de restricciones basada en predicados y recorrido recursivo para aplicar reglas a través de jerarquías de mensajes anidadas. La superficie de validación cubre rangos y valores numéricos, patrones y formatos de cadena, restricciones de secuencias de bytes y cumplimiento de enums. También gestiona tamaños de colecciones y campos repetidos, validación de tipos complejos para marcas de tiempo y duraciones, y requisitos para la selección de campos de unión.
Provides a protoc plugin that generates code to enforce semantic constraints and data validation rules for messages.
Space Cloud is a self-hosted, cloud-native backend-as-a-service suite. It functions as a Kubernetes-based serverless platform that provides a GraphQL and REST API gateway, a database API generator, and an event-driven orchestrator. The platform transforms SQL and NoSQL database schemas into secure endpoints, eliminating the need for manual backend development. It distinguishes itself by allowing remote data joins, which combine records from internal databases and external HTTP microservices within a single query. The system covers a broad range of capabilities, including rule-based access co
Automatically transforms database schemas into functional GraphQL and REST endpoints.