ormsgpack is a fast MessagePack serialization library for Python derived from orjson, with native support for various Python types.
ormsgpack follows semantic versioning and supports CPython, PyPy and GraalPy.
Links:
pip
pip install ormsgpackuv
uv add ormsgpackInstalling from a source distribution requires Rust 1.81 or newer and maturin.
This is an example of serializing and deserializing an object:
>>> import ormsgpack, datetime, numpy
>>> event = {
... "type": "put",
... "time": datetime.datetime(1970, 1, 1),
... "uid": 1,
... "data": numpy.array([1, 2]),
... }
>>> ormsgpack.packb(event, option=ormsgpack.OPT_SERIALIZE_NUMPY)
b'\x84\xa4type\xa3put\xa4time\xb31970-01-01T00:00:00\xa3uid\x01\xa4data\x92\x01\x02'
>>> ormsgpack.unpackb(_)
{'type': 'put', 'time': '1970-01-01T00:00:00', 'uid': 1, 'data': [1, 2]}orjson was written by ijl <[email protected]>, copyright 2018 - 2021, licensed under both the Apache License, Version 2.0, and the MIT License.
ormsgpack was forked from orjson by Aviram Hassan and is now maintained by Emanuele Giaquinta (@exg), licensed under both the Apache License, Version 2.0, and the MIT License.