Skip to content
Matthew Conover edited this page Sep 1, 2021 · 14 revisions

Welcome to the Bebop wiki!

Bebop is a schema-based binary serialization technology, similar to Protocol Buffers or MessagePack.

Bebop aims to be both efficient and simple. It makes some assumptions to strike this balance: for example, that you're always interested in decoding entire messages at once, that you'll never remove fields from messages, and that you're not interested in micro-managing the memory layout yourself.

In particular, Bebop tries to be a good fit for client–server or distributed web apps that need something faster, more concise, and more type-safe than JSON or MessagePack while also avoiding the complexity of Protocol Buffers and FlatBuffers.

You can read more in our blog post.

How does it work?

First, you write schemas describing the records in your distributed or networked app. Then, you feed them to the Bebop compiler, bebopc. It decides how to represent them in binary, and generates encode and decode methods for this binary format in your favorite programming language.

Getting started

Documentation