Skip to content

Consider native serializer support for numpy.ndarray #231

@gsmecher

Description

@gsmecher

Things to check first

  • I have searched the existing issues and didn't find my feature already requested there

Feature description

Currently, the easiest way to serialize numpy.ndarrays using cbor2 is something like (neglecting error checks)

import numpy as np
import cbor2

x = np.ones(10)
y = cbor2.dumps(x, default=lambda x, y: x.encode(y.tolist()))

This requires numpy to traverse the array and convert it to a Python list, which is then handed off to cbor2 for another traversal - there are several traversals and transient allocations involved.

Because both Numpy and CBOR have clean C APIs, would you consider a direct conversion implemented in the C extension module? It's worth noting that the orjson JSON library does this already.

Use case

Low-overhead serialization of numpy arrays.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions