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.2.tar.gz (17.9 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.2-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: protarrow-0.13.2.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.9 Linux/6.8.0-1021-azure

File hashes

Hashes for protarrow-0.13.2.tar.gz
Algorithm Hash digest
SHA256 a68aa8017bd10482513a3dfd3084a81610944e490cdec6ff40b2b574923c6b34
MD5 cce90bf04e6fe5d1cef781c845b0182b
BLAKE2b-256 8df630379e80df2826296e583a9424dc6625d30c0c6d64e185ec486caef86144

See more details on using hashes here.

File details

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

File metadata

  • Download URL: protarrow-0.13.2-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.9 Linux/6.8.0-1021-azure

File hashes

Hashes for protarrow-0.13.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a0794000caccd9218c4366cdf122a0de9b4d23c2c1ad6e1bc7cd6c9aeb575575
MD5 c4936720e5e983698597fde3868fc7e0
BLAKE2b-256 a574161204460d1c6521fd32a650dc88ef341b1f3858200919cf325717d228af

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