Thanks Antoine.

Do we need to hold a vote to adopt the C API? I will see if I can
review the C++ implementation prior to leaving for ~1 week of vacation
next Tuesday

On Thu, Nov 7, 2019 at 1:24 PM Antoine Pitrou <anto...@python.org> wrote:
>
>
> Hello,
>
> The C data interface spec was updated following a suggestion
> by Wes and Uwe:
> https://github.com/apache/arrow/blob/3173f88dfa32ce3296a121b032f351e089888601/docs/source/format/CDataInterface.rst
>
> The metadata encoding was changed.  It does not use JSON anymore
> but a very simple binary encoding.  Quoting the spec:
>
>    This string is not null-terminated but follows a specific format::
>
>       int32: number of key/value pairs (noted N below)
>       int32: byte length of key 0
>       key 0 (not null-terminated)
>       int32: byte length of value 0
>       value 0 (not null-terminated)
>       ...
>       int32: byte length of key N - 1
>       key N - 1 (not null-terminated)
>       int32: byte length of value N - 1
>       value N - 1 (not null-terminated)
>
>    For example, the metadata ``[('key1', 'value1')]`` is encoded as::
>
>       \x01\x00\x00\x00\x04\x00\x00\x00key1\x06\x00\x00\x00value1
>
>
> The C++ draft implementation now supports metadata exporting and importing:
> https://github.com/apache/arrow/pull/5608
>
> Regards
>
> Antoine.

Reply via email to