This package bundles some of the best Python serialization libraries into one standalone package, with a high-level API that makes it easy to write code that's correct across platforms and Pythons. This allows us to provide all the serialization utilities we need in a single binary wheel. Currently supports JSON, JSONL, MessagePack, Pickle, and YAML. Serialization is hard, especially across Python versions and multiple platforms. After dealing with many subtle bugs over the years (encodings, locales, large files) our libraries like spaCy and Prodigy have steadily grown a number of utility functions to wrap the multiple serialization formats we need to support (especially json, msgpack and pickle). These wrapping functions ended up duplicated across our codebases, so we wanted to put them in one place.
Features
- Serialization is hard, especially across Python versions and multiple platforms
- Create a gzipped JSON file and dump contents
- Load YAML from a file or standard input
- Check if a Python object is YAML-serializable
- Currently supports JSON, JSONL, MessagePack, Pickle and YAML
- High-level API that makes it easy to write code that's correct across platforms and Pythons