9 Repos
Tools for generating client stubs and server skeletons from IDL files.
Distinguishing note: Focuses on the automation of boilerplate code.
Explore 9 awesome GitHub repositories matching development tools & productivity · Interface Definition Code Generation. Refine with filters or upvote what's useful.
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
Automatically generates language-specific client stubs and server skeletons from interface definition files.
grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and servers. It provides an asynchronous communication stack and a protocol buffers implementation for encoding, decoding, and generating type-safe code from service definitions. The project enables the implementation of unary and bi-directional data streaming over the HTTP/2 protocol. It includes specialized support for gRPC-Web integration, allowing browser-based clients to communicate with services through protocol translation. The infrastructure covers a broad range of distr
Automatically generates client stubs and server skeletons from protobuf interface definition files.
F Prime ist ein komponentenbasiertes Framework für die Entwicklung und Bereitstellung von Embedded- und Raumfahrtsoftware. Es bietet eine modulare Architektur, die Softwarelogik von Kommunikationsschnittstellen entkoppelt und es Entwicklern ermöglicht, Systemstrukturen über eine domänenspezifische Modellierungssprache zu definieren. Dieser modellbasierte Ansatz ermöglicht eine automatisierte Codegenerierung, die Konsistenz über komplexe Systemtopologien hinweg gewährleistet und gleichzeitig strikte Schnittstellenverträge zwischen Softwaremodulen aufrechterhält. Das Framework zeichnet sich durch sein integriertes Build-System und eine Suite für Bodendatenoperationen aus. Es automatisiert den gesamten Lebenszyklus von Embedded-Software, von der Cross-Kompilierung und dem Abhängigkeitsmanagement bis hin zur Generierung von Telemetrie- und Befehlsschnittstellen. Durch die Bereitstellung einer einheitlichen Umgebung für Onboard-Flugsoftware und bodengestützte Überwachung erleichtert es die nahtlose Integration, das Testen sowie die Steuerung und Überwachung verteilter Embedded-Systeme über verschiedene Hardwareplattformen hinweg. Über die Kernarchitektur hinaus enthält das Projekt umfassende Werkzeuge für die Systembeobachtbarkeit, einschließlich Echtzeit-Telemetrie-Visualisierung, Ereignisprotokollierung und diagnostischer Tracing-Funktionen. Es unterstützt eine breite Palette von Bereitstellungsszenarien, von Bare-Metal-Umgebungen bis hin zu Echtzeitbetriebssystemen, und bietet Mechanismen für Speicherverwaltung, zustandsgesteuerte Verhaltensmodellierung und asynchrone Aufgabenausführung. Das Projekt wird als C++-Repository mit umfangreicher Dokumentation und Build-System-Unterstützung für die plattformübergreifende Entwicklung gepflegt.
Automates the generation of source code and interface definitions from architectural models to ensure system consistency.
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
Generates client stubs and server skeletons from IDL files using automated build plugins.
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
Generates server skeletons and client stubs from Thrift or Protobuf IDL files to ensure type safety.
SWIG is a tool that generates wrapper code to expose C and C++ libraries to a wide range of higher-level programming languages. It reads annotated C/C++ header files and produces language-specific bindings from a single interface definition, supporting languages such as Python, Java, Ruby, C#, Perl, and many others. The generated wrapper code is free from the project's GPL license, allowing users to distribute it under their own terms. The tool handles modern C++ features including templates, namespaces, smart pointers, and constructs up to C++20 through specialized parsing and code generatio
Generates language-specific bindings from a single annotated C/C++ interface definition.
Apache Dubbo Go ist eine Go-Implementierung des Apache Dubbo-Frameworks, die für den Aufbau von hochperformanten Microservices entwickelt wurde. Es dient als sprachübergreifendes RPC-Framework und Microservices-Kommunikationsschicht, die Remote Procedure Calls zwischen Diensten ermöglicht, die in verschiedenen Programmiersprachen geschrieben sind. Das Framework fungiert als Toolset für Service-Governance und als Proxy für ein verteiltes Service-Mesh, wodurch Datenebenen mit externen Steuerungsebenen in Proxy- oder Proxy-losen Modi verbunden werden können. Es bietet speziell eine Kompatibilitätsschicht, um die Kommunikation zwischen Go- und Java-basierten Diensten durch sprachunabhängige Definitionen und standardisierte Datenkodierung zu erleichtern. Das System deckt ein breites Spektrum verteilter Funktionen ab, einschließlich dynamischer Service-Discovery, strategiebasierter Lastverteilung und Traffic-Management mittels Circuit Breakern und Rate Limiting. Es integriert Observability durch verteiltes Request-Tracing und Performance-Metriken und gewährleistet gleichzeitig Sicherheit durch Transportverschlüsselung und identitätsbasierte Zugriffskontrolle. Die Entwicklerproduktivität wird durch eine Befehlszeilenschnittstelle für das Application-Bootstrapping und die automatisierte Generierung von RPC-Stubs aus Schnittstellendefinitionen unterstützt.
Produces client and server stubs from shared interface definitions to automate the implementation of service contracts.
KotlinPoet is a Java-based API for programmatically creating and formatting Kotlin source files. It serves as a source code generator and type system mapper, providing a framework to build Kotlin code structures through a type-safe model of language elements to automate the production of boilerplate. The project utilizes a fluent-builder pattern to incrementally construct language elements and maintains an internal object-model representation that separates logical structure from final text formatting. It handles the complexities of source emission through indentation-based formatting and key
Supports the programmatic creation of interface declarations to define common APIs.
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
Generates client stubs and server skeletons from service specifications to reduce manual implementation.