{"library":"msgpack-numpy","title":"Msgpack-NumPy","description":"This package provides encoding and decoding routines that enable the serialization and deserialization of numerical and array data types from NumPy using the highly efficient MessagePack format. It also supports serialization of Python's native complex data types. The current version is 0.4.8, and it maintains compatibility with Python versions 2.7 and 3.5+.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install msgpack-numpy"],"cli":null},"imports":["import msgpack_numpy as m","m.patch()","msgpack_numpy.encode","msgpack_numpy.decode"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import msgpack\nimport msgpack_numpy as m\nimport numpy as np\n\n# Easiest way: Monkey-patch msgpack to be numpy-aware\nm.patch()\n\n# Example NumPy array\ndata = {'array': np.array([1.2, 3.4, 5.6], dtype=np.float32), 'scalar': np.float64(7.8)}\n\n# Serialize\npacked_data = msgpack.packb(data, use_bin_type=True)\nprint(f\"Packed size: {len(packed_data)} bytes\")\n\n# Deserialize\nunpacked_data = msgpack.unpackb(packed_data, raw=False)\n\n# Verify\nprint(f\"Original array type: {type(data['array'])}, dtype: {data['array'].dtype}\")\nprint(f\"Unpacked array type: {type(unpacked_data[b'array'])}, dtype: {unpacked_data[b'array'].dtype}\")\nprint(f\"Original scalar type: {type(data['scalar'])}, value: {data['scalar']}\")\nprint(f\"Unpacked scalar type: {type(unpacked_data[b'scalar'])}, value: {unpacked_data[b'scalar']}\")\n\n# Ensure unpacked arrays are modifiable if needed (they are read-only by default)\noriginal_array = unpacked_data[b'array'].copy()\noriginal_array[0] = 99.9\nprint(f\"Modified array: {original_array}\")","lang":"python","description":"The quickest way to use msgpack-numpy is to call `m.patch()` after importing `msgpack` and `msgpack_numpy`. This automatically configures `msgpack.packb` and `msgpack.unpackb` to handle NumPy data types. It's crucial to use `use_bin_type=True` during packing for binary data and `raw=False` (default) for unpacking strings.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"0.4.8","pypi_latest":"0.4.8","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.8,"avg_import_s":0.26,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"msgpack-numpy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.23,"mem_mb":6.8,"disk_size":"90.4M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"msgpack-numpy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.7,"import_time_s":0.19,"mem_mb":6.8,"disk_size":"87M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"msgpack-numpy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.34,"mem_mb":7.2,"disk_size":"98.0M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"msgpack-numpy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.7,"import_time_s":0.31,"mem_mb":7.2,"disk_size":"94M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"msgpack-numpy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.28,"mem_mb":7.1,"disk_size":"86.4M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"msgpack-numpy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.5,"import_time_s":0.31,"mem_mb":7.1,"disk_size":"82M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"msgpack-numpy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.22,"mem_mb":7.6,"disk_size":"85.9M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"msgpack-numpy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.5,"import_time_s":0.3,"mem_mb":7.6,"disk_size":"82M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"msgpack-numpy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.16,"mem_mb":6.5,"disk_size":"98.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"msgpack-numpy","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":0.23,"mem_mb":6.5,"disk_size":"97M"}]}}