1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
3 NAMEBASE= python-msgpack
7 SDESC[py37]= MessagePack (de)serializer (PY37)
8 SDESC[py38]= MessagePack (de)serializer (PY38)
9 HOMEPAGE= https://msgpack.org/
10 CONTACT= Python_Automaton[python@ironwolf.systems]
13 SITES[main]= PYPI/m/msgpack
14 DISTFILE[1]= msgpack-1.0.0.tar.gz:main
19 OPTIONS_AVAILABLE= PY38 PY37
20 OPTIONS_STANDARD= none
21 VOPTS[py37]= PY38=OFF PY37=ON
22 VOPTS[py38]= PY38=ON PY37=OFF
24 DISTNAME= msgpack-1.0.0
28 [PY37].USES_ON= python:py37
30 [PY38].USES_ON= python:py38
32 [FILE:3053:descriptions/desc.single]
33 # MessagePack for Python
35 [![Build Status]](https://travis-ci.org/msgpack/msgpack-python)
37 Status]](https://msgpack-python.readthedocs.io/en/latest/?badge=latest)
41 [MessagePack] is an efficient binary serialization format.
42 It lets you exchange data among multiple languages like JSON.
43 But it's faster and smaller.
44 This package provides CPython bindings for reading and writing MessagePack
47 ## Very important notes for existing users
51 TL;DR: When upgrading from msgpack-0.4 or earlier, don't do `pip install -U
53 Do `pip uninstall msgpack-python; pip install msgpack` instead.
55 Package name on PyPI was changed to msgpack from 0.5.
56 I upload transitional package (msgpack-python 0.5 which depending on
58 for smooth transition from msgpack-python to msgpack.
60 Sadly, this doesn't work for upgrade install. After `pip install -U
62 msgpack is removed, and `import msgpack` fail.
64 ### Compatibility with the old format
66 You can use `use_bin_type=False` option to pack `bytes`
67 object into raw type in the old msgpack spec, instead of bin type in new
70 You can unpack old msgpack format using `raw=True` option.
71 It unpacks str (raw) type in msgpack into Python bytes.
73 See note below for detail.
75 ### Major breaking changes in msgpack 1.0
79 * The extension module does not support Python 2 anymore.
80 The pure Python implementation (`msgpack.fallback`) is used for Python
85 * `use_bin_type=True` by default. bytes are encoded in bin type in
87 **If you are still sing Python 2, you must use unicode for all string
89 You can use `use_bin_type=False` to encode into old msgpack format.
90 * `encoding` option is removed. UTF-8 is used always.
94 * `raw=False` by default. It assumes str types are valid UTF-8 string
95 and decode them to Python str (unicode) object.
96 * `encoding` option is removed. You can use `raw=True` to support old
98 * Default value of `max_buffer_size` is changed from 0 to 100 MiB.
99 * Default value of `strict_map_key` is changed to True to avoid hashdos.
100 You need to pass `strict_map_key=False` if you have data which contain
102 which type is not bytes or str.
106 $ pip install msgpack
108 ### Pure Python implementation
110 The extension module in msgpack (`msgpack._cmsgpack`) does not support
113 But msgpack provides a pure Python implementation (`msgpack.fallback`)
114 for PyPy and Python 2.
116 Since the [pip] uses the pure Python implementation,
117 Python 2 support will not be dropped in the foreseeable future.
121 When you can't use a binary distribution, you need to install Visual Studio
122 or Windows SDK on Windows.
123 Without extension, using pure Python implementation on CPython runs slowly.
127 NOTE: In examples below, I use `raw=False` and `use_bin_type=True` for
129 using msgpack < 1.0. These options are default from msgpack 1.0 so you can
132 ### One-shot pack & unpack
136 9534d5cc480d4aff720233411a1f765be90885750b07df772380b34c10ecb5c0 232331 msgpack-1.0.0.tar.gz