awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
uber avatar

uber/prototoolArchived

0
View on GitHub↗
5,036 stars·338 forks·Go·MIT·4 vues

Prototool

Prototool est une boîte à outils de développement pour Protocol Buffers qui fournit une suite d'outils pour le linting, le formatage et la génération de code à partir de fichiers de schéma. Il fonctionne comme un système pour gérer le cycle de vie des définitions Protocol Buffer via une interface en ligne de commande.

La boîte à outils se distingue en fournissant un détecteur de changements cassants qui compare différentes versions de définitions pour identifier les changements incompatibles au niveau du fil ou de la source. Elle inclut également une interface client gRPC capable d'invoquer des points de terminaison en utilisant des requêtes JSON en compilant dynamiquement les définitions Protobuf.

Le projet couvre de larges domaines de capacités incluant la validation de schéma et l'application de style, la génération de stubs de code spécifiques au langage et la gestion automatisée des binaires de compilateur. Il fournit également des utilitaires pour l'exportation de jeux de descripteurs de fichiers et la génération de fichiers de schéma avec du boilerplate automatisé.

Features

  • Breaking Change Detectors - Identifies wire and source incompatible changes by comparing serialized FileDescriptorSets between different versions of definitions.
  • Protobuf Code Generators - Produces language-specific source code and file descriptor sets from Protocol Buffer definitions.
  • Protobuf Formatters - Standardizes the layout of schema files by alphabetizing imports and applying consistent spacing.
  • Protobuf Linters - Analyzes schema files against configurable rule groups to enforce naming conventions and structural requirements.
  • Protobuf Style Rules - Provides static analysis of Protobuf schemas to enforce naming conventions and structural rules via AST traversal.
  • API Specification Breaking Change Detectors - Compares different versions of Protobuf definitions to identify incompatible changes that could break service clients.
  • Protobuf Stub Generators - Generates language-specific client and server stubs from Protocol Buffer interface definitions.
  • Multi-Language Code Generators - Transforms schema definitions into source code for various languages using managed compiler versions.
  • Protobuf Code Generators - Generates language-specific source code from Protobuf definitions using a configuration-driven template mapping.
  • Style Enforcement Strategies - Validates schema files against a set of rules for naming, ordering, and structure to ensure consistency.
  • JSON-to-gRPC Translation - Enables calling gRPC endpoints using JSON requests by dynamically compiling Protobuf definitions.
  • Protobuf Syntax Validation - Validates schema files by compiling them without output stubs to ensure syntax correctness.
  • Binary Cache Managers - Manages the downloading and caching of specific compiler binaries and type definitions to ensure consistent builds.
  • Binary Process Wrappers - Wraps the official Protocol Buffer compiler to manage its installation and execution across different environments.
  • Compiler Binary Management - Buf CLI & Automation downloads, caches, and updates the schema compiler and type definitions automatically or via configuration.
  • gRPC Command-Line Clients - Provides a command-line interface for invoking gRPC methods and inspecting service definitions using JSON.
  • Interactive Clients - Enables sending JSON requests to gRPC servers by dynamically compiling Protobuf files.
  • gRPC API Testing - Sends JSON requests to gRPC endpoints by dynamically compiling Protobuf files to validate server behavior.
  • Protocol Buffer Tools - Integrated suite for compiling, linting, and formatting Protobuf files.

Historique des stars

Graphique de l'historique des stars pour uber/prototoolGraphique de l'historique des stars pour uber/prototool

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Prototool

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Prototool.
  • diffplug/spotlessAvatar de diffplug

    diffplug/spotless

    5,527Voir sur GitHub↗

    Spotless is a multi-language formatting orchestrator and Gradle plugin that automates code styling across various programming languages within a single build pipeline. It functions as a coordinator for multiple third-party formatters, a code style linting tool, and a system for inserting and updating standardized license headers. The project distinguishes itself through git-integrated style enforcement, using pre-push hooks and git references to apply formatting only to modified files or lines. It supports shared build configurations, allowing formatting rules to be distributed and loaded acr

    Java
    Voir sur GitHub↗5,527
  • grpc/grpc-rustAvatar de grpc

    grpc/grpc-rust

    12,338Voir sur GitHub↗

    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

    Rustasyncgrpcproto
    Voir sur GitHub↗12,338
  • go-swagger/go-swaggerAvatar de go-swagger

    go-swagger/go-swagger

    9,989Voir sur GitHub↗

    go-swagger is a toolkit for working with Swagger/OpenAPI 2.0 specifications in Go. It generates server, client, and CLI code from a specification document, and can also produce a specification by scanning annotated Go source code. The project includes a static validation engine that checks documents against the schema and project-specific rules, and a specification transformation pipeline that resolves, flattens, and merges documents. The toolkit generates both client and server code from the same specification, ensuring consistency in request and response handling. It also produces a command

    Goapicode-generatorgo
    Voir sur GitHub↗9,989
  • fullstorydev/grpcurlAvatar de fullstorydev

    fullstorydev/grpcurl

    12,691Voir sur GitHub↗

    grpcurl is a command-line interface and client tool for invoking gRPC methods and inspecting service definitions. It serves as a server debugger and reflection client, allowing users to call remote procedures and verify server responses from the terminal using JSON or protobuf formats. The tool distinguishes itself through the ability to discover available services and methods dynamically via a server reflection service or by loading local protobuf schema files. It can extract service descriptions from a server for local use and print specific schema symbol definitions. It covers a broad ran

    Gogolanggrpcprotobuf
    Voir sur GitHub↗12,691
Voir les 30 alternatives à Prototool→

Questions fréquentes

Que fait uber/prototool ?

Prototool est une boîte à outils de développement pour Protocol Buffers qui fournit une suite d'outils pour le linting, le formatage et la génération de code à partir de fichiers de schéma. Il fonctionne comme un système pour gérer le cycle de vie des définitions Protocol Buffer via une interface en ligne de commande.

Quelles sont les fonctionnalités principales de uber/prototool ?

Les fonctionnalités principales de uber/prototool sont : Breaking Change Detectors, Protobuf Code Generators, Protobuf Formatters, Protobuf Linters, Protobuf Style Rules, API Specification Breaking Change Detectors, Protobuf Stub Generators, Multi-Language Code Generators.

Quelles sont les alternatives open-source à uber/prototool ?

Les alternatives open-source à uber/prototool incluent : diffplug/spotless — Spotless is a multi-language formatting orchestrator and Gradle plugin that automates code styling across various… grpc/grpc-rust — grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and… go-swagger/go-swagger — go-swagger is a toolkit for working with Swagger/OpenAPI 2.0 specifications in Go. It generates server, client, and… fullstorydev/grpcurl — grpcurl is a command-line interface and client tool for invoking gRPC methods and inspecting service definitions. It… ktr0731/evans — Evans is a gRPC client and API explorer designed for testing, debugging, and automating remote procedure calls. It… thangchung/go-coffeeshop — go-coffeeshop is an event-driven microservices architecture designed to manage the end-to-end lifecycle of customer…