parquet
Python support for Parquet file format
What it is and what it does
parquet is a pure-Python implementation of the Apache Parquet file format with read-only support. It provides both a command-line tool (`parquet` command) for inspecting Parquet files and a programmatic API with DictReader and reader classes similar to Python's csv module. The package is useful for debugging and quick viewing of Parquet data without the overhead of a JVM, and it can read data files from the parquet-compatibility project.
The package depends on thriftpy2 for Thrift serialization and backports.csv for CSV output. However, it has not been actively maintained since 2020, and its test coverage was limited to Python 2.7, 3.6, and 3.7. Not all Parquet format features have been implemented—notably nested data handling and deprecated bitpacking remain incomplete. Performance has not been optimized.
Use it for:
- Quickly inspect Parquet file contents from the command line without installing Java or Spark.
- Convert Parquet data to JSON or TSV format for integration with non-Parquet tools.
- Read Parquet files programmatically in Python for data debugging and exploratory analysis.
- Extract specific columns from Parquet files using the DictReader or reader interface.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Reads Apache Parquet files in pure Python and outputs data as JSON or TSV via a command-line tool or programmatic reader interface.
No. The package is abandoned (last commit 2021-10-26, no release since 2020-04-30) and was only tested on Python 2.7, 3.6, and 3.7—all now end-of-life. Compatibility with modern Python versions is unverified, and critical Parquet features remain unimplemented. For production use, prefer actively maintained alternatives like pyarrow or fastparquet.
Install
parquet on PyPI
pip
pip install parquetuv
uv add parquetpoetry
poetry add parquetInstalling parquet
Before you install
Low install friction with only two runtime dependencies. However, the package is abandoned—last commit was 2021-10-26 and no release since 2020-04-30. It was tested on Python 2.7, 3.6, and 3.7, which are now end-of-life versions; compatibility with modern Python is unverified.
License in practice
Licensed under Apache License 2.0 (permissive), so you can use it freely in commercial and open-source projects without significant legal constraints.
Quickstart
import parquet
with open("test.parquet") as fo:
for row in parquet.DictReader(fo, columns=['foo', 'bar']):
print(row)
Requires thriftpy2 and backports.csv as runtime dependencies; compatibility with Python versions newer than 3.7 is unverified.
Verify before relying
- Whether the package works reliably on Python 3.8 and later versions.
- Current state of nested data support and which parquet-format features remain unimplemented.
- Performance characteristics compared to modern alternatives.
- Whether snappy compression support (optional extra) is still functional.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — thriftpy2, backports.csv |
| Maintenance | abandoned — 2,297 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 293,204/month — #7,956 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: parquet-1.3.1-py3-none-any.whl
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
fastparquetfastparquet reads and writes Apache Parquet…
permissive · top 5,000 on PyPI
gronTransforms JSON into grep-able line-by-line…
permissive · top 15,000 on PyPI
parquet-metadataParquet-metadata is a command-line tool that…
permissive · top 15,000 on PyPI
parquet-toolsCommand-line tool to read, inspect, and export…
permissive · top 15,000 on PyPI
pyexcelProvides a single API to read, write, and…
permissive · top 5,000 on PyPI
sas7bdatReads SAS7BDAT files (SAS statistical software…
permissive · top 15,000 on PyPI
pyexcel-ioProvides a unified API to read and write data…
permissive · top 5,000 on PyPI
csv-diffCompares two CSV, TSV, or JSON files and…
permissive · top 15,000 on PyPI
tabulateFormats and prints tabular data in plain text…
permissive · top 1,000 on PyPI
tsv2pyParses and generates tab-separated values (TSV)…
permissive · top 15,000 on PyPI