{"library":"fastparquet","title":"fastparquet","description":"fastparquet is a Python library providing performant read/write support for the Parquet file format, without needing a Python-Java bridge. It integrates well with Python-based big data workflows, particularly Dask and Pandas (versions < 3.0). As of March 2026, with Pandas 3.0 explicitly depending on PyArrow, `fastparquet` is being retired, and no further development is anticipated, though it remains usable for Pandas 2.x users.","status":"deprecated","version":"2026.3.0","language":"en","source_language":"en","source_url":"https://github.com/dask/fastparquet/","tags":["parquet","data processing","dataframe","io","dask","pandas"],"install":[{"cmd":"pip install fastparquet","lang":"bash","label":"PyPI"},{"cmd":"conda install -c conda-forge fastparquet","lang":"bash","label":"Conda"}],"dependencies":[{"reason":"Required for numerical operations, recommend installing first for pip.","package":"numpy"},{"reason":"Core dependency for DataFrame integration, specifically versions <3.0.","package":"pandas","optional":true},{"reason":"Required if building from Pyx files or installing from source.","package":"cython"},{"reason":"Required for compression algorithms.","package":"cramjam"},{"reason":"Required for filesystem abstraction.","package":"fsspec"}],"imports":[{"note":"Used for reading existing Parquet files.","symbol":"ParquetFile","correct":"from fastparquet import ParquetFile"},{"note":"Used for writing Pandas DataFrames to Parquet files.","symbol":"write","correct":"from fastparquet import write"}],"quickstart":{"code":"import pandas as pd\nfrom fastparquet import write, ParquetFile\nimport os\n\n# Create a sample DataFrame\ndf = pd.DataFrame({\n    'col1':,\n    'col2': ['A', 'B', 'C', 'D'],\n    'col3': [True, False, True, False]\n})\n\nfilename = \"example.parquet\"\n\n# Write the DataFrame to a Parquet file with Snappy compression\nwrite(filename, df, compression='SNAPPY')\nprint(f\"DataFrame successfully written to '{filename}'.\")\n\n# Read the Parquet file back into a DataFrame\npf = ParquetFile(filename)\ndf_read = pf.to_pandas()\nprint(f\"DataFrame successfully read from '{filename}':\")\nprint(df_read)\n\n# Clean up the created file\nos.remove(filename)","lang":"python","description":"This quickstart demonstrates how to create a Pandas DataFrame, write it to a Parquet file using `fastparquet.write`, and then read the data back into a new DataFrame using `fastparquet.ParquetFile.to_pandas()`. It also includes basic file cleanup."},"warnings":[{"fix":"Downgrade Pandas to a version less than 3.0, or migrate your Parquet I/O operations to use PyArrow or other alternatives like Dask with the PyArrow engine.","message":"The `fastparquet` project is being retired and is incompatible with `pandas` 3.0 and newer versions. Pandas 3.0 now explicitly depends on `pyarrow`, superseding `fastparquet` for many common workflows. Users should target `pandas<3.0` for continued use or migrate to `pyarrow`.","severity":"breaking","affected_versions":"pandas >= 3.0"},{"fix":"Pre-process data to minimize NULLs or use appropriate sentinel values. Consider fixed-length string types if supported by your data and downstream systems.","message":"Performance can be significantly impacted by the presence of NULL values and variable-length string encoding in your data. For optimal performance, consider using sentinel values (e.g., NaN) for data types that support them, or fixed-length strings where compatible with your ecosystem.","severity":"gotcha","affected_versions":"All versions"},{"fix":"`pip install numpy` before `pip install fastparquet`. Ensure you have a C compiler (e.g., GCC on Linux, Xcode command-line tools on macOS, MSVC on Windows) and `pip install cython` if encountering compilation errors.","message":"When installing `fastparquet` via `pip`, it's advisable to install `numpy` first to aid the dependency resolver. If pre-compiled wheels are not available for your system/Python version, or when installing directly from the GitHub repository, a C compiler toolchain and `cython` are required for compilation.","severity":"gotcha","affected_versions":"All versions (especially when wheels are not available)"}],"env_vars":null,"last_verified":"2026-04-06T00:00:00.000Z","next_check":"2026-07-05T00:00:00.000Z"}