#binary-encoding #serialization #binary-format #binary #binary-data #deserialize #stream

tbon

TinyChain Binary Object Notation is a compact and versatile stream-friendly binary serialization format

18 releases

0.6.0 Aug 13, 2024
0.5.2 Dec 20, 2023
0.5.1 Sep 3, 2023
0.5.0 Jul 3, 2023
0.1.3 Mar 23, 2021

#1645 in Asynchronous

Download history 4/week @ 2024-07-01 15/week @ 2024-07-08 60/week @ 2024-07-15 19/week @ 2024-07-22 162/week @ 2024-07-29 34/week @ 2024-08-05 194/week @ 2024-08-12 25/week @ 2024-08-19 73/week @ 2024-08-26 16/week @ 2024-09-02 18/week @ 2024-09-09 40/week @ 2024-09-16 61/week @ 2024-09-23 53/week @ 2024-09-30 7/week @ 2024-10-07 13/week @ 2024-10-14

135 downloads per month
Used in 16 crates (6 directly)

Apache-2.0

65KB
2K SLoC

Tinychain Binary Object Notation

Tinychain Binary Object Notation (TBON) is a compact and versatile stream-friendly binary serialization format.

Example:

let expected = ("one".to_string(), 2.0, vec![3, 4], Bytes::from(vec![5u8]));
let stream = tbon::en::encode(&expected).unwrap();
let actual = tbon::de::try_decode((), stream).await.unwrap();
assert_eq!(expected, actual);

lib.rs:

Library for encoding Rust program data into a binary stream, and decoding that stream.

Example:

let expected = ("one".to_string(), 2.0, vec![3, 4], vec![5u8]);
let stream = tbon::en::encode(&expected).unwrap();
let actual = block_on(tbon::de::try_decode((), stream)).unwrap();
assert_eq!(expected, actual);

Dependencies

~1.6–8MB
~66K SLoC