Roundhouse
Convert many serialization formats to many formats
Installation
Install CLI bundled with base package
Comes with just JSON and Pickle serializers by default, no external dependencies
pip install roundhouse
Install one or more additional serializers and their dependencies
See :mod:`roundhouse.contrib.serializers` for list of available bundled serializers
pip install roundhouse[yaml] roundhouse[msgpack] ...
Or install all builtin serializers and dependencies bundled with core package
pip install roundhouse[all]
Additional serializer plugins can be published and installed via pypi/pip using the roundhouse setuptools entrypoint pointing to module/package containing additional serializer classes
Usage
CLI
The rh CLI command is installed automatically, and defaults to reading from stdin and writing stdout
Run rh --help for full usage instructions
echo '{"root": {"nested": {"key": "value"}}}' | rh -i json -o xml
<?xml version="1.0" encoding="utf-8"?>
<root><nested><key>value</key></nested></root>
Python
Data is serialized/deserialized to and from :class:`dict` instances
Other data types may be supported depending on the serializer
Use the :meth:`roundhouse.serialize` and :meth:`roundhouse.deserialize` functions with target format
from roundhouse import serialize, deserialize
data = deserialize('{"root": {"nested": {"key": "value"}}}', 'json')
print(serialize(data, 'xml'))