10 Repos
Tools that automatically generate type-safe source code from Protocol Buffer service and message definitions.
Distinct from Protobuf-to-Go Generators: Existing candidates are too narrow, targeting specific languages like Go or .NET, while this is a general Rust implementation for gRPC stubs.
Explore 10 awesome GitHub repositories matching development tools & productivity · Protobuf Code Generators. Refine with filters or upvote what's useful.
This project is a comprehensive technical guide to advanced Go programming. It serves as a programming guide, technical reference, and textbook covering low-level optimization and distributed systems architecture. The resource provides detailed instructions on writing assembly instructions to optimize performance-critical code and managing C-Go interoperability to bridge C libraries with Go. It also functions as a manual for implementing remote procedure call mechanisms and creating custom plugins for the Protocol Buffers compiler. The material covers high-level capabilities including the de
Explains how to build custom plugins for the Protocol Buffers compiler to generate type-safe code.
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
Provides automated code generation to produce strongly typed client and server stubs directly from protobuf interface definitions.
Buf is a toolchain for managing the full lifecycle of Protocol Buffers schemas. It provides a set of tools for schema governance, including linting to enforce style guides, a breaking change detector to ensure backward compatibility, and a system for producing language-specific source code via local or remote plugins. The project distinguishes itself through a remote schema registry that centralizes the hosting, versioning, and distribution of Protocol Buffers modules. This registry allows for server-side enforcement of governance policies, such as blocking updates that introduce backward-inc
Automatically generates type-safe source code and client stubs from Protocol Buffer definitions using local or remote plugins.
Semantic ist eine auf Haskell basierende Bibliothek und ein Kommandozeilen-Tool für die polyglotte Quellcode-Analyse. Es fungiert als Framework für statische Programmanalyse und als polyglotter Parser für abstrakte Syntaxbäume, der verschiedene Programmiersprachen in strukturierte Syntaxbäume auf Basis von Grammatikdefinitionen umwandelt. Das System zeichnet sich durch eine semantische Code-Vergleichs-Engine aus, die strukturelle und inhaltliche Änderungen zwischen Code-Versionen erkennt, anstatt sich auf rein textuelle Unterschiede zu verlassen. Es ermöglicht zudem die Analyse über verschiedene Programmiersyntaxen hinweg, indem es Oberflächensprachen in eine einheitliche, polyglotte Zwischenrepräsentation übersetzt. Das Framework bietet eine breite Palette an Funktionen für das Parsen von Sprachen wie Rust, Go, Python, Ruby, PHP, TypeScript und TSX. Es deckt die semantische Analyse durch Code-Scope-Mapping, Extraktion von Symbolen und die Generierung semantischer Graphen ab, ergänzt durch Werkzeuge zur Musteranalyse und Bewertung des Programmverhaltens. Das Toolset enthält Kommandozeilen-Dienstprogramme zur Standardisierung von Haskell-Quellcodedateien.
Uses protobuf schemas to define and generate structured data types for representing source code and semantic analysis results.
Prototool ist ein Entwicklungs-Toolkit für Protocol Buffers, das eine Suite an Tools zum Linting, Formatieren und Generieren von Code aus Schemadateien bereitstellt. Es fungiert als System zur Verwaltung des Lebenszyklus von Protocol-Buffer-Definitionen über ein Command-Line-Interface. Das Toolkit zeichnet sich durch einen Detektor für Breaking Changes aus, der verschiedene Versionen von Definitionen vergleicht, um inkompatible Änderungen an der Schnittstelle oder am Quellcode zu identifizieren. Es enthält zudem ein gRPC-Client-Interface, das in der Lage ist, Endpunkte mittels JSON-Anfragen durch dynamische Kompilierung von Protobuf-Definitionen aufzurufen. Das Projekt deckt breite Funktionsbereiche ab, einschließlich Schema-Validierung und Style-Durchsetzung, sprachspezifischer Code-Stub-Generierung und automatisierter Verwaltung von Compiler-Binaries. Es bietet zudem Dienstprogramme für den Export von File-Descriptor-Sets und die Generierung von Schemadateien mit automatisiertem Boilerplate.
Produces language-specific source code and file descriptor sets from Protocol Buffer definitions.
Dieses Projekt ist eine Protocol Buffers Swift-Bibliothek und ein Framework, das eine Laufzeitumgebung für die Serialisierung und Deserialisierung strukturierter Daten bereitstellt. Es enthält einen Codegenerator, der Schemadateien in typsichere Swift-Strukturen umwandelt, sowie ein Binär-Serialisierungs-Framework für die Konvertierung von Daten in kompakte Streams. Die Bibliothek fungiert als JSON-Daten-Mapper, der Nachrichten in standardmäßige JSON-Repräsentationen umwandelt, um den plattformübergreifenden Datenaustausch zu erleichtern. Sie nutzt einen schema-gesteuerten Ansatz, um eine konsistente Datenmodellierung zwischen Swift-Anwendungen und Diensten, die in anderen Sprachen geschrieben sind, sicherzustellen. Das Framework deckt die Serialisierung und Deserialisierung von Binär- und JSON-Daten ab und nutzt eine interface-basierte Laufzeitbibliothek, um diese Formate über generierte Nachrichten hinweg zu verarbeiten.
Automatically generates type-safe Swift source code from Protocol Buffer message and service definitions.
Prost ist eine Protocol-Buffers-Implementierung für Rust, die als binäres Serialisierungs-Framework und Codegenerator fungiert. Sie übersetzt Schemadefinitionen in idiomatische Rust-Structs und -Enums und bietet die Logik, die erforderlich ist, um strukturierte Daten in das binäre Protocol-Buffers-Format zu kodieren und zu dekodieren. Das Projekt zeichnet sich durch eine no-std-Implementierung aus, die es ermöglicht, in eingebetteten oder Kernel-Umgebungen zu operieren, denen eine Standardbibliothek fehlt. Es dient zudem als Schema-Introspektor durch das Ausgeben von File-Descriptor-Sets, was die programmatische Analyse ursprünglicher Schemadefinitionen zur Laufzeit ermöglicht. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich Service-Trait-Generierung für Schnittstellenmodellierung, Unterstützung für bekannte Typen und prozedurale Makro-Annotationen für das Mapping manueller Typdefinitionen. Sie bietet zudem Tools für Abhängigkeitsmanagement und Fuzz-Testing, um Serialisierungsstabilität zu gewährleisten.
Automatically generates type-safe Rust source code and serialization logic from Protocol Buffer definitions.
go-coffeeshop ist eine eventgesteuerte Microservices-Architektur, die darauf ausgelegt ist, den gesamten Lebenszyklus von Kundenbestellungen zu verwalten. Sie koordiniert unabhängige Dienste mithilfe asynchroner Messaging-Muster, um Geschäftsabläufe, Hintergrundverarbeitung und die Verfolgung der Auftragsabwicklung zu handhaben. Das Projekt nutzt einen HashiCorp-Stack für die Infrastruktur und setzt Nomad, Consul und Vault für Service-Orchestrierung und Secret-Storage ein. Die Infrastruktur wird durch deklarative Automatisierung mittels Terraform verwaltet, um eine konsistente und wiederholbare Bereitstellung von Rechenressourcen und Netzwerken zu gewährleisten. Das System umfasst ein REST-API-Gateway für das Traffic-Routing und ein Service-Mesh für sichere interne Kommunikation. Zu den technischen Fähigkeiten gehören Dependency-Injection zur Kompilierzeit, typsichere Abfragegenerierung und die Verwendung von Protocol Buffers für die Codegenerierung. Die funktionalen Bereiche decken die Verwaltung des digitalen Produktinventars, den Menüabruf und die Verarbeitung von Kundenbestellungen von der Aufgabe bis zur endgültigen Erfüllung ab.
Generates type-safe language bindings and server implementations from protocol buffer definitions.
Dieses Projekt ist eine containerisierte Machine-Learning-Workflow-Engine und ein Orchestrator, der darauf ausgelegt ist, den End-to-End-Lebenszyklus von Machine-Learning-Modellen auf Kubernetes-Clustern zu automatisieren. Es fungiert als MLOps-Pipeline-Compiler, der eine domänenspezifische Sprache in strukturierte Spezifikationen für eine portable und skalierbare Bereitstellung umwandelt. Die Plattform bietet eine Multi-Tenant-Umgebung mit isolierten Namespaces und Identitätsanbieter-Authentifizierung. Sie zeichnet sich durch eine Kombination aus containerbasierter Aufgabenisolierung, stark typisiertem Artefaktmanagement für die Datenübergabe und inhaltsadressierbarem Ergebnis-Caching aus, um redundante Berechnungen zu vermeiden. Das System deckt eine umfassende Workflow-Orchestrierung ab, einschließlich paralleler Aufgabenausführung, wiederkehrender Laufplanung und bedingter Verzweigungslogik. Es unterstützt zudem Experiment-Tracking, Workflow-Metrikerfassung und das Management wiederverwendbarer Pipeline-Komponenten, mit der Möglichkeit, spezifische Hardware-Ressourcenanforderungen für CPU, Speicher und GPU zu konfigurieren. Die Software wird über ein Python-SDK vertrieben und kann in eigenständigen, lokalen oder Multi-Tenant-Umgebungen bereitgestellt werden.
Generates language-specific artifacts from protobuf platform definitions to ensure cross-language compatibility.
This library provides a framework for implementing gRPC clients and services in Rust, enabling reliable communication between distributed system components. It facilitates the definition and hosting of asynchronous unary and streaming network services, utilizing protocol buffers to ensure consistent, strongly-typed data exchange. The project distinguishes itself by integrating with a high-performance C core via foreign function interfaces to handle low-level networking and protocol logic. It employs a task-based concurrency model to coordinate non-blocking operations and utilizes zero-copy me
Includes tools to create source code modules and interface stubs from structured data definitions.