@@ -211,6 +211,32 @@ def unpackb(object packed, object object_hook=None, object list_hook=None,
211211 raise UnpackValueError(" Unpack failed: error = %d " % (ret,))
212212
213213
214+ def unpack (object stream , object object_hook = None , object list_hook = None ,
215+ bint use_list = 1 , encoding = None , unicode_errors = None ,
216+ object_pairs_hook = None , ext_hook = ExtType,
217+ Py_ssize_t max_str_len = 2147483647 , # 2**32-1
218+ Py_ssize_t max_bin_len = 2147483647 ,
219+ Py_ssize_t max_array_len = 2147483647 ,
220+ Py_ssize_t max_map_len = 2147483647 ,
221+ Py_ssize_t max_ext_len = 2147483647 ):
222+ """
223+ Unpack an object from `stream`.
224+
225+ Raises `ValueError` when `stream` has extra bytes.
226+
227+ See :class:`Unpacker` for options.
228+ """
229+ return unpackb(stream.read(), use_list = use_list,
230+ object_hook = object_hook, object_pairs_hook = object_pairs_hook, list_hook = list_hook,
231+ encoding = encoding, unicode_errors = unicode_errors, ext_hook = ext_hook,
232+ max_str_len = max_str_len,
233+ max_bin_len = max_bin_len,
234+ max_array_len = max_array_len,
235+ max_map_len = max_map_len,
236+ max_ext_len = max_ext_len,
237+ )
238+
239+
214240cdef class Unpacker(object ):
215241 """ Streaming unpacker.
216242
0 commit comments