Skip to content

cjermain/msgpack-numpy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Numpy Data Type Serialization Using Msgpack

Package Description

This package provides encoding and decoding routines that enable the serialization and deserialization of numerical and array data types provided by numpy using the highly efficient msgpack format. Serialization of Python's native complex data types is also supported.

Latest Version

Downloads

Installation

msgpack-numpy requires msgpack-python and numpy. If you have pip installed on your system, run :

pip install msgpack-numpy

to install the package and all dependencies. You can also download the source tarball, unpack it, and run :

python setup.py install

from within the source directory.

Usage

The easiest way to use msgpack-numpy is to call its monkey patching function after importing the Python msgpack package: :

import msgpack
import msgpack_numpy as m
m.patch()

This will automatically force all msgpack serialization and deserialization routines (and other packages that use them) to become numpy-aware. Of course, one can also manually pass the encoder and decoder provided by msgpack-numpy to the msgpack routines: :

import msgpack
import msgpack_numpy as m
import numpy as np

x = np.random.rand(5)
x_enc = msgpack.packb(x, default=m.encode)
x_rec = msgpack.unpackb(x_enc, object_hook=m.decode)

msgpack-numpy will try to use the binary (fast) extension in msgpack by default. If msgpack was not compiled with Cython (or if the MSGPACK_PUREPYTHON variable is set), it will fall back to using the slower pure Python msgpack implementation.

Development

The latest source code can be obtained from GitHub.

Authors

See the included AUTHORS.rst file for more information.

License

This software is licensed under the BSD License. See the included LICENSE.rst file for more information.

About

Serialize numpy arrays using msgpack

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%