{"id":37748528,"url":"https://github.com/tradewelltech/protarrow","last_synced_at":"2026-01-16T14:19:24.110Z","repository":{"id":63728340,"uuid":"562555050","full_name":"tradewelltech/protarrow","owner":"tradewelltech","description":"Convert from protobuf to arrow and back","archived":false,"fork":false,"pushed_at":"2025-12-31T11:47:17.000Z","size":9509,"stargazers_count":34,"open_issues_count":8,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-04T15:05:52.193Z","etag":null,"topics":["apache-arrow","data","protobuf","python"],"latest_commit_sha":null,"homepage":"https://protarrow.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tradewelltech.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-11-06T17:57:28.000Z","updated_at":"2025-12-31T11:46:14.000Z","dependencies_parsed_at":"2024-01-23T14:28:02.592Z","dependency_job_id":"91ff4878-19d8-4ba4-841d-24175adfb9b8","html_url":"https://github.com/tradewelltech/protarrow","commit_stats":null,"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/tradewelltech/protarrow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tradewelltech%2Fprotarrow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tradewelltech%2Fprotarrow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tradewelltech%2Fprotarrow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tradewelltech%2Fprotarrow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tradewelltech","download_url":"https://codeload.github.com/tradewelltech/protarrow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tradewelltech%2Fprotarrow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-arrow","data","protobuf","python"],"created_at":"2026-01-16T14:19:24.046Z","updated_at":"2026-01-16T14:19:24.104Z","avatar_url":"https://github.com/tradewelltech.png","language":"Python","readme":"# Protarrow\n\n[![PyPI Version][pypi-image]][pypi-url]\n[![Conda Version][conda-image]][conda-url]\n[![Python Version][versions-image]][versions-url]\n[![Github Stars][stars-image]][stars-url]\n[![codecov][codecov-image]][codecov-url]\n[![Build Status][build-image]][build-url]\n[![Documentation][doc-image]][doc-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n[![Downloads][downloads-month-image]][downloads-month-url]\n[![Conda Downloads][downloads-conda-image]][downloads-conda-url]\n[![Code style: black][codestyle-image]][codestyle-url]\n[![snyk][snyk-image]][snyk-url]\n[![GitHub issues][github-issues-image]][github-issues-url]\n[![Contributing][contributing-image]][contributing-url]\n[![Repo Size](https://img.shields.io/github/repo-size/tradewelltech/protarrow)][repo-size-url]\n[![FOSSA Status][fossa-image]][fossa-url]\n[![Python][python-image]][python-url]\n\n**Protarrow** is a python library for converting from Protocol Buffers to Apache Arrow and back.\n\nIt is used at [Tradewell Technologies](https://www.tradewelltech.co/),\nto share data between transactional and analytical applications,\nwith little boilerplate code and zero data loss.\n\n## Installation\n\n```shell\npip install protarrow\n```\n\n## Usage\n\nTaking a simple protobuf:\n\n```protobuf\nmessage MyProto {\n  string name = 1;\n  int32 id = 2;\n  repeated int32 values = 3;\n}\n```\n\nIt can be converted to a `pyarrow.Table`:\n\n```python\nimport protarrow\n\nmy_protos = [\n    MyProto(name=\"foo\", id=1, values=[1, 2, 4]),\n    MyProto(name=\"bar\", id=2, values=[3, 4, 5]),\n]\n\ntable = protarrow.messages_to_table(my_protos, MyProto)\n```\n\n| name   |   id | values   |\n|:-------|-----:|:---------|\n| foo    |    1 | [1 2 4]  |\n| bar    |    2 | [3 4 5]  |\n\nAnd the table can be converted back to proto:\n\n```python\nprotos_from_table = protarrow.table_to_messages(table, MyProto)\n```\n\nSee the [documentation](https://protarrow.readthedocs.io/en/latest/)\n\n\u003c!-- Badges: --\u003e\n\n[pypi-image]: https://img.shields.io/pypi/v/protarrow\n[pypi-url]: https://pypi.org/project/protarrow/\n[conda-image]: https://img.shields.io/conda/vn/conda-forge/protarrow.svg\n[conda-url]: https://prefix.dev/channels/conda-forge/packages/protarrow\n[build-image]: https://github.com/tradewelltech/protarrow/actions/workflows/ci.yaml/badge.svg\n[build-url]: https://github.com/tradewelltech/protarrow/actions/workflows/ci.yaml\n[stars-image]: https://img.shields.io/github/stars/tradewelltech/protarrow\n[stars-url]: https://github.com/tradewelltech/protarrow\n[versions-image]: https://img.shields.io/pypi/pyversions/protarrow\n[versions-url]: https://pypi.org/project/protarrow/\n[doc-image]: https://readthedocs.org/projects/protarrow/badge/?version=latest\n[doc-url]: https://protarrow.readthedocs.io/en/latest/?badge=latest\n[license-image]: http://img.shields.io/:license-Apache%202-blue.svg\n[license-url]: https://github.com/tradewelltech/protarrow/blob/master/LICENSE\n[codecov-image]: https://codecov.io/gh/tradewelltech/protarrow/branch/master/graph/badge.svg?token=XMFH27IL70\n[codecov-url]: https://codecov.io/gh/tradewelltech/protarrow\n[downloads-image]: https://pepy.tech/badge/protarrow\n[downloads-url]: https://static.pepy.tech/badge/protarrow\n[downloads-month-image]: https://pepy.tech/badge/protarrow/month\n[downloads-month-url]: https://static.pepy.tech/badge/protarrow/month\n[downloads-conda-image]: https://img.shields.io/conda/dn/conda-forge/protarrow.svg?label=Conda%20downloads\n[downloads-conda-url]: https://anaconda.org/conda-forge/protarrow\n[codestyle-image]: https://img.shields.io/badge/code%20style-black-000000.svg\n[codestyle-url]: https://github.com/ambv/black\n[snyk-image]: https://snyk.io/advisor/python/protarrow/badge.svg\n[snyk-url]: https://snyk.io/advisor/python/protarrow\n[github-issues-image]: https://img.shields.io/badge/issue_tracking-github-blue.svg\n[github-issues-url]: https://github.com/tradewelltech/protarrow/issues\n[contributing-image]: https://img.shields.io/badge/PR-Welcome-%23FF8300.svg?\n[contributing-url]: https://protarrow.readthedocs.io/en/latest/contributing/\n[python-image]: https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54\n[python-url]: https://www.python.org/\n[repo-size-url]: https://github.com/tradewelltech/protarrow\n[fossa-image]: https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftradewelltech%2Fprotarrow.svg?type=shield\n[fossa-url]: https://app.fossa.com/projects/git%2Bgithub.com%2Ftradewelltech%2protarrow?ref=badge_shield\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftradewelltech%2Fprotarrow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftradewelltech%2Fprotarrow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftradewelltech%2Fprotarrow/lists"}