awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
tokio-rs avatar

tokio-rs/prost

0
View on GitHub↗
4,717 stars·623 forks·Rust·Apache-2.0·14 views

Prost

Prost is a Protocol Buffers implementation for Rust that functions as a binary serialization framework and code generator. It translates schema definitions into idiomatic Rust structs and enums, providing the logic necessary to encode and decode structured data into the Protocol Buffers binary format.

The project distinguishes itself through a no-std implementation, allowing it to operate in embedded or kernel environments that lack a standard library. It also serves as a schema introspector by emitting file descriptor sets, which enables the programmatic analysis of original schema definitions at runtime.

The library covers a broad range of capabilities, including service trait generation for interface modeling, support for well-known types, and procedural macro annotations for mapping manual type definitions. It also provides tools for dependency management and fuzz testing to ensure serialization stability.

Features

  • Protocol Buffers Serializers - Provides a high-performance implementation of Protocol Buffers serialization and deserialization for Rust.
  • Binary Deserialization - Transforms binary streams back into structured Rust data objects through efficient deserialization.
  • Binary Serialization Formats - Implements binary serialization and deserialization for efficient storage and transmission of structured data.
  • Protobuf-to-Struct Generators - Translates Protocol Buffer schema files into idiomatic Rust structs and enums for type safety.
  • Schema-Driven Code Generators - Translates Protocol Buffer definitions into idiomatic Rust structs and enums via a compiler-based process.
  • Protobuf Code Generators - Automatically generates type-safe Rust source code and serialization logic from Protocol Buffer definitions.
  • Embedded Communication Libraries - Provides optimized Protocol Buffer serialization for structured data exchange in resource-constrained embedded environments.
  • No-Std Environment Adapters - Implements compatibility for environments without a standard library, enabling use in embedded or kernel contexts.
  • Rust Code Generators - Generates idiomatic Rust structs and enums from schemas while preserving package organization and comments.
  • Protocol Buffer Implementations - Provides a full implementation of the Protocol Buffers serialization logic, including encoding and decoding.
  • Binary Descriptor Sets - Produces binary descriptor sets during build time to allow programmatic analysis of schemas at runtime.
  • gRPC Service Implementations - Implements gRPC service definitions and generates the necessary Rust traits and data structures for RPC communication.
  • No-Std Serialization Libraries - Offers a serialization implementation compatible with embedded or kernel environments that lack the Rust standard library.
  • Procedural Macros - Utilizes Rust procedural macros to map manual type definitions to serialization logic without external schema files.
  • Serialization Annotations - Supports adding serialization attributes and field tags to manual type definitions to avoid code generation.
  • Service Contract Generators - Generates type-safe service contracts and communication layer code from abstract service definitions.
  • Serialization Logic Generators - Automates the creation of encoding and decoding logic using procedural annotations for data mapping.
  • Trait-Based Service Abstractions - Generates specialized Rust traits from service definitions to ensure consistent interface implementations.

Star history

Star history chart for tokio-rs/prostStar history chart for tokio-rs/prost

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does tokio-rs/prost do?

Prost is a Protocol Buffers implementation for Rust that functions as a binary serialization framework and code generator. It translates schema definitions into idiomatic Rust structs and enums, providing the logic necessary to encode and decode structured data into the Protocol Buffers binary format.

What are the main features of tokio-rs/prost?

The main features of tokio-rs/prost are: Protocol Buffers Serializers, Binary Deserialization, Binary Serialization Formats, Protobuf-to-Struct Generators, Schema-Driven Code Generators, Protobuf Code Generators, Embedded Communication Libraries, No-Std Environment Adapters.

Which projects share features with tokio-rs/prost?

Projects with overlapping indexed features include: apple/swift-protobuf — This project is a Protocol Buffers Swift library and framework providing a runtime for serializing and deserializing… grpc/grpc-rust — grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and… bufbuild/buf — Buf is a toolchain for managing the full lifecycle of Protocol Buffers schemas. It provides a set of tools for schema… tikv/grpc-rs — This library provides a framework for implementing gRPC clients and services in Rust, enabling reliable communication… serde-rs/serde — This project is a framework for the efficient serialization and deserialization of data structures. It provides a… golang/protobuf — This project is a Protocol Buffers implementation for Go, providing a binary serialization framework to convert native…

Projects sharing features with Prost

These projects share indexed features with Prost. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • apple/swift-protobufapple avatar

    apple/swift-protobuf

    4,935View on GitHub↗

    This project is a Protocol Buffers Swift library and framework providing a runtime for serializing and deserializing structured data. It includes a code generator that transforms schema files into type-safe Swift structures and a binary serialization framework for converting data into compact streams. The library functions as a JSON data mapper, transforming messages into standard JSON representations to facilitate cross-platform data exchange. It utilizes a schema-driven approach to ensure consistent data modeling between Swift applications and services written in other languages. The frame

    Swift
    View on GitHub↗4,935
  • grpc/grpc-rustgrpc avatar

    grpc/grpc-rust

    12,338View on 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
    View on GitHub↗12,338
  • bufbuild/bufbufbuild avatar

    bufbuild/buf

    11,211View on GitHub↗

    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

    Gobuf-clibuf-schema-registrygrpc
    View on GitHub↗11,211
  • tikv/grpc-rstikv avatar

    tikv/grpc-rs

    1,851View on GitHub↗

    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

    Rustgrpcrust
    View on GitHub↗1,851
  • Compare all 30 related projects→