MessagePack

MessagePack (or "MsgPack") is a serialization format similar to JSON but binary. Unlike JSON but like TOML and YAML it distinguishes between byte arrays and strings and has a timestamp format (as an optional but standardized extension).

There are the following options for working with MessagePack in Tcl.

Library Type Minimum Tcl version MsgPack spec version License Features
https://github.com/jdc8/msgpack pure Tcl 8.6 "new" (v5) 3-clause BSD Encoder, decoder, extension formats, timestamp
https://github.com/jdc8/tclmsgpack Critcl C extension 8.5 "old" (v4) 3-clause BSD Encoder, decoder
https://github.com/tkob/tclmessagepack pure Tcl ? "new" (v5) MIT Decoder, extension formats
https://github.com/yuhangwang/MessagePack-Tcl pure Tcl 8.5 "old" (v4) MIT Encoder, decoder, extension formats