icon: package
Encode simple values in the MessagePack binary format.
!!!info Optional module
Enable PK_BUILD_MODULE_MSGPACK=ON; see build configuration.
!!!
| Function | Result |
|---|---|
dumps(obj) |
Encoded bytes. |
loads(data: bytes) |
Decoded Python value. |
import msgpack
state = {'level': 2, 'items': ['key', 'coin'], 'payload': b'\x00\x01'}
packed = msgpack.dumps(state)
assert msgpack.loads(packed) == state
The built-in conversion supports None, booleans, signed 64-bit integers,
floats, strings, bytes, lists, and dictionaries. Use string or integer map keys.
Arrays decode to lists; tuples and arbitrary class instances are not part of
the default encoder.
Keep integer values within pocketpy's signed 64-bit range, including when
receiving MessagePack unsigned integers. Extension values require host-provided
conversion hooks; they are not automatically mapped to Python classes.
The API has no CPython third-party msgpack keyword option set.
Implementation: bindings.c.