fastparquet
Python support for Parquet file format
What it is and what it does
fastparquet is a Python implementation of the Apache Parquet columnar file format, designed to integrate with pandas and numpy for big data workflows. It reads Parquet files into pandas DataFrames and writes DataFrames back to Parquet, supporting features like column selection, categorical encoding, compression, and row-group partitioning. The library has been used implicitly by Dask, Pandas, and intake-parquet.
The package is now in maintenance mode: as of March 2026, the project is being retired because pandas 3.0 now depends explicitly on pyarrow, eliminating the original rationale for fastparquet's existence. Continued use is anticipated only for those still on pandas 2.x. Installation requires numpy, pandas, and cramjam; optional compression support includes gzip, snappy, brotli, lz4, and zstandard by default.
Use it for:
- Read Parquet files produced by Spark or Hive into pandas DataFrames for local analysis.
- Write pandas DataFrames to Parquet format for efficient columnar storage and downstream consumption by big data tools.
- Load specific columns or apply categorical encoding when reading large Parquet files to reduce memory footprint.
- Partition data into row groups and apply compression when writing Parquet files for distributed processing.
- Integrate Parquet I/O into existing pandas-based data pipelines without introducing a pyarrow dependency.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
fastparquet reads and writes Apache Parquet files in Python, offering a native implementation that integrates with pandas, numpy, and other data processing libraries.
Yes, if you are on pandas 2.x and need a lightweight Parquet reader/writer without pyarrow. No, if you are adopting pandas 3.0 or later—use pyarrow instead, which pandas now depends on explicitly. The project is being retired and will receive no further development; evaluate your pandas version and long-term maintenance needs before committing to it.
Install
fastparquet on PyPI
pip
pip install fastparquetuv
uv add fastparquetpoetry
poetry add fastparquetInstalling fastparquet
Before you install
Medium install friction due to compiled wheels across multiple platforms and Python versions (3.10–3.14). Active maintenance with recent releases, though the project is being retired as of March 2026 following pandas 3.0 changes and pandas' explicit dependency on pyarrow.
License in practice
Apache License 2.0 is permissive; you may use, modify, and distribute fastparquet freely in commercial and private projects, provided you include a copy of the license and note any changes.
Quickstart
from fastparquet import ParquetFile, write
import pandas as pd
# Read
pf = ParquetFile('myfile.parq')
df = pf.to_pandas()
# Write
write('outfile.parq', df)
Requires numpy and pandas installed; building from source requires a C compiler toolchain and cython >= 0.29.23.
Verify before relying
- Whether the project retirement announced in March 2026 affects long-term support or security patches for pandas 2.x users.
- Performance characteristics compared to pyarrow for specific workloads or file sizes.
- Full list of supported compression algorithms and any optional dependencies beyond those documented.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 5 — pandas, numpy, cramjam, fsspec, packaging |
| Maintenance | actively maintained — 91 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 15,251,519/month — #1,192 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fastparquet-2026.5.0-cp310-cp310-macosx_10_9_universal2.whl; fastparquet-2026.5.0-cp310-cp310-macosx_11_0_arm64.whl; fastparquet-2026.5.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl; fastparquet-2026.5.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; fastparquet-2026.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; fastparquet-2026.5.0-cp310-cp310-musllinux_1_2_i686.whl; fastparquet-2026.5.0-cp310-cp310-musllinux_1_2_x86_64.whl; fastparquet-2026.5.0-cp310-cp310-win32.whl; fastparquet-2026.5.0-cp310-cp310-win_amd64.whl; fastparquet-2026.5.0-cp311-cp311-macosx_10_9_universal2.whl; fastparquet-2026.5.0-cp311-cp311-macosx_11_0_arm64.whl; fastparquet-2026.5.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl; fastparquet-2026.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; fastparquet-2026.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; fastparquet-2026.5.0-cp311-cp311-musllinux_1_2_i686.whl; fastparquet-2026.5.0-cp311-cp311-musllinux_1_2_x86_64.whl; fastparquet-2026.5.0-cp311-cp311-win32.whl; fastparquet-2026.5.0-cp311-cp311-win_amd64.whl; fastparquet-2026.5.0-cp312-cp312-macosx_10_13_universal2.whl; fastparquet-2026.5.0-cp312-cp312-macosx_11_0_arm64.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
hepconverthepconvert converts between columnar file…
permissive · top 15,000 on PyPI
parquetReads Apache Parquet files in pure Python and…
permissive · top 15,000 on PyPI
parquet-metadataParquet-metadata is a command-line tool that…
permissive · top 15,000 on PyPI
dask-geopandasDask-GeoPandas parallelizes geospatial…
permissive · top 15,000 on PyPI
feather-formatFeather-format provides a Python interface to…
permissive · top 15,000 on PyPI
pyarrowfs-adlgen2Provides a PyArrow filesystem interface for…
permissive · top 15,000 on PyPI
pyreadrReads and writes R RData and Rds files directly…
agpl · top 15,000 on PyPI
datafusionDataFusion is a Python binding to Apache…
permissive · top 5,000 on PyPI
pgzippgzip is a multi-threaded gzip implementation…
permissive · top 15,000 on PyPI
delta-sharingDelta Sharing is a Python client library for…
permissive · top 5,000 on PyPI