RLP(*1) is a way to encode multi-way trees as byte strings. This library provides an encode and a decode function. A tree's node can be a byte string or a node with arbitrarily many child nodes. A node can also have zero nodes. Equivalently, this library can serialize s-expressions whose atoms are byte string literals.
RLP is heavily used in the Ethereum protocol(*2), but might be useful elsewhere as well.
*1: https://github.com/ethereum/wiki/wiki/RLP *2: https://ethereum.org/