Skip to main content

Convert from protobuf to arrow and back

Project description

Protarrow

PyPI Version Conda Version Python Version Github Stars codecov Build Status Documentation License Downloads Downloads Conda Downloads Code style: black snyk GitHub issues Contributing Repo Size FOSSA Status Python

Protarrow is a python library for converting from Protocol Buffers to Apache Arrow and back.

It is used at Tradewell Technologies, to share data between transactional and analytical applications, with little boilerplate code and zero data loss.

Installation

pip install protarrow

Usage

Taking a simple protobuf:

message MyProto {
  string name = 1;
  int32 id = 2;
  repeated int32 values = 3;
}

It can be converted to a pyarrow.Table:

import protarrow

my_protos = [
    MyProto(name="foo", id=1, values=[1, 2, 4]),
    MyProto(name="bar", id=2, values=[3, 4, 5]),
]

table = protarrow.messages_to_table(my_protos, MyProto)
name id values
foo 1 [1 2 4]
bar 2 [3 4 5]

And the table can be converted back to proto:

protos_from_table = protarrow.table_to_messages(table, MyProto)

See the documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

protarrow-0.13.1.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

protarrow-0.13.1-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file protarrow-0.13.1.tar.gz.

File metadata

  • Download URL: protarrow-0.13.1.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.11.10 Darwin/24.4.0

File hashes

Hashes for protarrow-0.13.1.tar.gz
Algorithm Hash digest
SHA256 d5586ea341ab56095b94a937f2abaa37ac5adfabf390ca192f4ae571be052f87
MD5 5987cb65e66ac088476c599de764c25e
BLAKE2b-256 b16f042c7c45a739cfef0abb863ed1efb3ca5a170788cfabed262cf1cb9f0494

See more details on using hashes here.

File details

Details for the file protarrow-0.13.1-py3-none-any.whl.

File metadata

  • Download URL: protarrow-0.13.1-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.11.10 Darwin/24.4.0

File hashes

Hashes for protarrow-0.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 84829f8109077ce88bb7796779fabcab6ebff26e96b1562b1bfcbb28826b8291
MD5 3a062562337342255e1ef6ccf1ab6101
BLAKE2b-256 9ccf82f4176b028fcf0addcad98a75a03eb39f1d6c30a71a03b1bcc0bff43adc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page