Why this over serialization free formats like CapnProto and Flatbuffers? If you want it to be compact, send it through zstd (with a custom dictionary).
I do really like that is broad support out of the box and looks easy to use.
For Python I still prefer using dill since it handles code objects.
replies(1):