9 dépôts
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 est un framework basé sur des composants conçu pour le développement et le déploiement de logiciels embarqués et spatiaux. Il fournit une architecture modulaire qui découple la logique logicielle des interfaces de communication, permettant aux développeurs de définir des structures système via un langage de modélisation spécifique au domaine. Cette approche basée sur les modèles permet la génération automatique de code, garantissant la cohérence des topologies système complexes tout en maintenant des contrats d'interface stricts entre les modules logiciels. Le framework se distingue par son système de build intégré et sa suite d'opérations de données au sol. Il automatise l'intégralité du cycle de vie des logiciels embarqués, de la compilation croisée et la gestion des dépendances à la génération d'interfaces de télémétrie et de commande. En fournissant un environnement unifié pour les logiciels de vol embarqués et la surveillance au sol, il facilite l'intégration, les tests et le contrôle des systèmes embarqués distribués sur diverses plateformes matérielles. Au-delà de son architecture centrale, le projet inclut des outils complets pour l'observabilité du système, notamment la visualisation de télémétrie en temps réel, la journalisation d'événements et le traçage de diagnostic. Il prend en charge un large éventail de scénarios de déploiement, des environnements bare-metal aux systèmes d'exploitation temps réel, et fournit des mécanismes pour la gestion de la mémoire, la modélisation de comportement pilotée par les états et l'exécution de tâches asynchrones. Le projet est maintenu sous forme de dépôt C++ avec une documentation étendue et un support du système de build pour le développement multiplateforme.
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 est une implémentation en langage Go du framework Apache Dubbo conçue pour construire des microservices haute performance. Il sert de framework RPC inter-langages et de couche de communication pour microservices, permettant des appels de procédure à distance entre des services écrits dans différents langages de programmation. Le framework fonctionne comme un ensemble d'outils de gouvernance de services et un proxy de service mesh distribué, permettant aux plans de données de se connecter à des plans de contrôle externes en mode proxy ou sans proxy. Il fournit spécifiquement une couche de compatibilité pour faciliter la communication entre les services Go et Java grâce à des définitions agnostiques au langage et un encodage de données standardisé. Le système couvre un large éventail de capacités distribuées, notamment la découverte dynamique de services, l'équilibrage de charge basé sur des stratégies et la gestion du trafic via des disjoncteurs (circuit breakers) et la limitation de débit (rate limiting). Il intègre l'observabilité grâce au traçage distribué des requêtes et aux métriques de performance, tout en assurant la sécurité avec le chiffrement de la couche de transport et le contrôle d'accès basé sur l'identité. La productivité des développeurs est soutenue par une interface en ligne de commande pour le bootstrapping d'applications et la génération automatisée de stubs RPC à partir de définitions d'interfaces.
Produces client and server stubs from shared interface definitions to automate the implementation of service contracts.
KotlinPoet est une API basée sur Java permettant de créer et de formater par programmation des fichiers source Kotlin. Il sert de générateur de code source et de mappeur de système de types, offrant un framework pour construire des structures de code Kotlin via un modèle typé des éléments du langage afin d'automatiser la production de code répétitif (boilerplate). Le projet utilise un pattern de type fluent-builder pour construire progressivement les éléments du langage et maintient une représentation interne sous forme d'objet qui sépare la structure logique du formatage final du texte. Il gère la complexité de l'émission du code source grâce à un formatage basé sur l'indentation et à l'échappement des noms sensibles aux mots-clés pour garantir une sortie valide. La bibliothèque couvre la génération d'un large éventail de déclarations, notamment les classes, interfaces, fonctions, propriétés et companion objects. Elle inclut des utilitaires pour gérer des types paramétrés complexes, des classes enum et des alias de type, ainsi que des outils pour intégrer des littéraux et construire des blocs de contrôle de flux. La gestion automatique des imports et le référencement des déclarations sont intégrés pour résoudre les membres par leurs noms qualifiés. KotlinPoet offre des capacités pour transformer les données de réflexion et les symboles en représentations source et prend en charge l'exportation de spécifications de fichiers pour une utilisation dans les outils de traitement d'annotations.
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.