Skip to content

ormsgpack/ormsgpack

Repository files navigation

ormsgpack

PyPI - Version PyPI - Python Version PyPI - Downloads

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:

Installation

pip

pip install ormsgpack

uv

uv add ormsgpack

Installing from a source distribution requires Rust 1.81 or newer and maturin.

Quickstart

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]}

License

orjson was written by ijl <ijl@mailbox.org>, 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.

About

MessagePack serialization library for Python derived from orjson, written in Rust using PyO3

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages