Skip to main content

Convert from protobuf to arrow and back

Project description

PyPI Version Python Version Github Stars codecov Build Status Documentation License Downloads Downloads Code style: black snyk

Protarrow

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.9.0.tar.gz (17.0 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.9.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: protarrow-0.9.0.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.10.15 Linux/6.8.0-1017-azure

File hashes

Hashes for protarrow-0.9.0.tar.gz
Algorithm Hash digest
SHA256 d66c8b149178ff0d01466e42443bc70f284129bba8ec452dfbbaaaea0c838bbc
MD5 81465c90fe22a0d3581bfdeea0cc3758
BLAKE2b-256 730e66ca056247dc2e15b3be2fa2d910e7649d3967b8f093b5740a43d40846c8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: protarrow-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.10.15 Linux/6.8.0-1017-azure

File hashes

Hashes for protarrow-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4662046435b3f4bc6c5b544b168a5062e943df60d2624115bdb8649bbead2f40
MD5 cb955eb1fefd4094f0c64f442aabf9e4
BLAKE2b-256 bf862ec53a2dfbe72fc310001d7f3acdbd2febfcb9da880a5f733921c42aedb4

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