summaryrefslogtreecommitdiff
path: root/msgpack/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'msgpack/__init__.py')
-rw-r--r--msgpack/__init__.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/msgpack/__init__.py b/msgpack/__init__.py
index 6c5ae53..70de97f 100644
--- a/msgpack/__init__.py
+++ b/msgpack/__init__.py
@@ -19,13 +19,13 @@ class ExtType(namedtuple('ExtType', 'code data')):
import os
if os.environ.get('MSGPACK_PUREPYTHON'):
- from msgpack.fallback import Packer, unpack, unpackb, Unpacker
+ from msgpack.fallback import Packer, unpackb, Unpacker
else:
try:
from msgpack._packer import Packer
- from msgpack._unpacker import unpack, unpackb, Unpacker
+ from msgpack._unpacker import unpackb, Unpacker
except ImportError:
- from msgpack.fallback import Packer, unpack, unpackb, Unpacker
+ from msgpack.fallback import Packer, unpackb, Unpacker
def pack(o, stream, **kwargs):
@@ -46,6 +46,17 @@ def packb(o, **kwargs):
"""
return Packer(**kwargs).pack(o)
+
+def unpack(stream, **kwargs):
+ """
+ Unpack an object from `stream`.
+
+ Raises `ExtraData` when `packed` contains extra bytes.
+ See :class:`Unpacker` for options.
+ """
+ return unpackb(stream.read(), **kwargs)
+
+
# alias for compatibility to simplejson/marshal/pickle.
load = unpack
loads = unpackb