Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/pip/_vendor/msgpack/__init__.py: 75%

24 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2023-06-07 06:48 +0000

1# coding: utf-8 

2from .exceptions import * 

3from .ext import ExtType, Timestamp 

4 

5import os 

6import sys 

7 

8 

9version = (1, 0, 5) 

10__version__ = "1.0.5" 

11 

12 

13if os.environ.get("MSGPACK_PUREPYTHON") or sys.version_info[0] == 2: 

14 from .fallback import Packer, unpackb, Unpacker 

15else: 

16 try: 

17 from ._cmsgpack import Packer, unpackb, Unpacker 

18 except ImportError: 

19 from .fallback import Packer, unpackb, Unpacker 

20 

21 

22def pack(o, stream, **kwargs): 

23 """ 

24 Pack object `o` and write it to `stream` 

25 

26 See :class:`Packer` for options. 

27 """ 

28 packer = Packer(**kwargs) 

29 stream.write(packer.pack(o)) 

30 

31 

32def packb(o, **kwargs): 

33 """ 

34 Pack object `o` and return packed bytes 

35 

36 See :class:`Packer` for options. 

37 """ 

38 return Packer(**kwargs).pack(o) 

39 

40 

41def unpack(stream, **kwargs): 

42 """ 

43 Unpack an object from `stream`. 

44 

45 Raises `ExtraData` when `stream` contains extra bytes. 

46 See :class:`Unpacker` for options. 

47 """ 

48 data = stream.read() 

49 return unpackb(data, **kwargs) 

50 

51 

52# alias for compatibility to simplejson/marshal/pickle. 

53load = unpack 

54loads = unpackb 

55 

56dump = pack 

57dumps = packb