rmp-serde

Serde-powered MessagePack serialization and deserialization for Rust

Library
Cargo
v1.3.1
1,418stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
48/100Fair
Development Activity0
Maintenance20
Community72
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
76/100Good
Architecture80
Code Quality78
Innovation62
Learning Curve82

rmp-serde connects Rust’s low-level rmp MessagePack codec to Serde, so any type deriving Serialize/Deserialize can be encoded to and decoded from the compact binary MessagePack format with to_vec()/from_slice() calls and no manual byte-level encoding. It’s the standard way Rust projects adopt MessagePack as a faster, smaller alternative to JSON for wire formats, caches, and file formats, without writing custom binary parsers.

What You Get

  • to_vec()/from_slice() and streaming Serializer/Deserializer types for MessagePack encoding/decoding
  • Automatic support for any type implementing Serde’s Serialize/Deserialize traits, including derived structs and enums
  • Configurable serialization modes (struct-as-map vs struct-as-array) via the config module for interop with other MessagePack consumers
  • A bytes module for efficient handling of raw byte slices without unnecessary copies
  • Interop with the sibling rmpv crate’s dynamic Value type for schema-less MessagePack handling

Common Use Cases

  • Serializing Rust structs to a compact binary wire format for RPC or network protocols instead of JSON
  • Persisting application state or cache entries to disk in MessagePack for smaller file sizes and faster (de)serialization
  • Interoperating with services in other languages that already speak MessagePack (Python, JavaScript, Go clients)
  • Replacing JSON in performance-sensitive paths where payload size and (de)serialization speed matter

Under The Hood

Architecture - rmp-serde is one of four crates in the msgpack-rust Cargo workspace (rmp, rmp-serde, rmpv, rmpv-tests): rmp implements the raw MessagePack wire format, and rmp-serde builds Serde’s Serializer/Deserializer trait implementations directly on top of it, translating Serde’s visitor-based data model into MessagePack’s type markers without an intermediate representation. Tech Stack - Pure Rust (edition 2024, Rust 1.85+), depending only on serde and the sibling rmp crate by path within the workspace, with rmpv and serde_bytes used only as dev-dependencies for testing byte-slice and dynamic-value interop. Code Quality - Source is organized by concern (encode.rs, decode.rs, config.rs, bytes.rs, each several hundred lines), with a dedicated tests/ directory and benches/ for serialization performance, though the crate’s own Cargo.toml carries a maintenance = "looking-for-maintainer" badge, signaling reduced active maintenance despite continued heavy real-world usage. API Design - The API deliberately mirrors serde_json’s (to_vec, from_slice, to_writer), so developers already familiar with Serde-based JSON handling can switch to MessagePack with minimal code changes, while the config module exposes struct-encoding-mode toggles for cases where wire-format compatibility with non-Rust MessagePack consumers matters.

Used by 9 apps in this directory

TypeScript
93%
MIT

bunqueue

Developer Tools · Devops

558

High-performance job queue for Bun — SQLite persistence, cron scheduling, DLQ, S3 backups, and a native MCP server, all without Redis.

View details
75
Repo Health
83
Technical
75
Dependency
Built with
TypeScript93%
Updated 2 days ago
Rust
52%
Apache 2.0

cocoindex

Data Engineering · AI Development

11,496

An incremental data indexing engine that keeps AI agent context perpetually fresh by reprocessing only what changed.

View details
86
Repo Health
85
Technical
64
Dependency
Built with
Rust52%
Python48%
Updated 2 days ago
Rust
96%
Apache 2.0

InfluxDB

Databases · Analytics

31,733

Open-source time-series database built for real-time ingest, fast SQL queries, and embedded Python automation — powered by Apache Arrow and Parquet.

View details
84
Repo Health
76
Technical
72
Dependency
Built with
Rust96%
Updated 3 days ago
TypeScript
95%
MIT

melty

Developer Tools · AI Code Assistants · Code Editors

5,443

The AI code editor where every chat message is a git commit you can revert, branch, or squash

View details
35
Repo Health
75
Technical
67
Dependency
Built with
TypeScript95%
Updated 1 years ago
Rust
63%
MIT

PostgresML

Databases · AI Development

6,819

Run ML training and LLM inference natively inside PostgreSQL with GPU acceleration — no data movement required.

View details
51
Repo Health
76
Technical
64
Dependency
Built with
Rust63%
JavaScript11%
Updated 1 years ago
Rust
77%
AGPL 3.0

Spacedrive

File Storage · Collaboration

38,913

One file manager for all your devices and clouds — powered by a Virtual Distributed File System built in Rust.

View details
58
Repo Health
84
Technical
64
Dependency
Built with
Rust77%
TypeScript20%
Updated 1 months ago
Rust
77%
AGPL 3.0

Spacedrive

File Storage · Collaboration

38,913

One file manager for all your devices and clouds — powered by a Virtual Distributed File System built in Rust.

View details
58
Repo Health
84
Technical
64
Dependency
Built with
Rust77%
TypeScript20%
Updated 1 months ago
Rust
83%
AGPL 3.0

Vaultwarden

Password Manager · Security

66,948

Unofficial Bitwarden-compatible server in Rust — run the full Bitwarden ecosystem on a Raspberry Pi using every official client you already have, without the multi-container overhead.

View details
86
Repo Health
69
Technical
70
Dependency
Built with
Rust83%
Updated 4 days ago
TypeScript
95%
Apache 2.0

Void

AI Code Assistants · Code Editors · Automation

28,810

Open-source AI code editor with direct LLM integration and data privacy

View details
46
Repo Health
84
Technical
68
Dependency
Built with
TypeScript95%
Updated 3 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search