Apache Parquet for .NET

Apache Parquet for .NET 5.1.1

Fully managed Apache Parquet implementation.

Download for Windows

About Apache Parquet for .NET

Fully managed, safe, extremely fast .NET library to 📖read and ✍️write Apache Parquet files
designed for .NET world (not a wrapper). Targets .NET 8, .NET 7, .NET 6.0, .NET Core 3.1,
.NET Standard 2.1 and .NET Standard 2.0.

Whether you want to build apps for Linux, MacOS, Windows, iOS, Android, Tizen, Xbox, PS4,
Raspberry Pi, Samsung TVs or much more, Parquet.Net has you covered.

What's new in 5.1.1

Improvements
- RecyclableMemoryStreamManager exposes memory settings in ParquetOptions. by @DrewMcArthur in #597.
Bug fixes
- Fixed ParquetSchema equality collisions in #596 by @goeffthomas.
- Fixed failures when decoding LZ4Raw encoding. Big shoutout to @mukunku for saving us from the data gremlins! See mukunku/ParquetViewer#126
- Make isAdjustedToUTC defualt to true and allow it to be set. By @cliedeman in #547.
Floor
- Turns out, MacOSX binaries were having an identity crisis because they were built by a Linux build server. They just couldn't get along! But fear not, this has been fixed. Big thanks to @daningalla and @dmunch in #587. It's like a tech peace treaty!
floor

Full release notes »

Technical details

Publisheraloneguid
AuthorIvan Gavryliuk
Version5.1.1
Release date2025-07-03
LicenseMIT
Installer typezip
Architecturex64
Package IDaloneguid.ParquetDotnet.floor

Install Apache Parquet for .NET from the command line

Install with Windows Package Manager
winget install --id=aloneguid.ParquetDotnet.floor -e
Update to the latest version
winget upgrade --id=aloneguid.ParquetDotnet.floor -e
Uninstall
winget uninstall --id=aloneguid.ParquetDotnet.floor -e

Apache Parquet for .NET adds this command to the command line: floor.

apache-parquetapache-sparkdotnetdotnet-coredotnet-standardioslinuxwindowsxamarinxbox

Apache Parquet for .NET version history

5.1.0 Jan 30, 2025

Improvements
- Class-reflected schemas for map complex types will generate key/value properties with "key" and "value" names, respectively. This is required in order to deserialise externally generated parquet files with dictionaries.
- Updated dependent packages.
- Class deserializer will check for type compatibility when deserialising incompatible types, which will prevent accidental data loss or narrowing. Thanks to @dkotov in #573.
- Write RowGroup total size and compressed size by @justinas-marozas in #580.
- DELTA_BYTE_ARRAY aka "Delta Strings" encoding can read byte array types in addition to string types.
Bug fixes
- Adopted to breaking change in Parquet specification (technically it's a fault of upstream, not this library's) resulting in bugs like #576 and #579.
- Boolean fields encoded in RLE failed to read at all. Technically RLE can be used for integer and booleans, but we only ever supported integers.
Changes
- Removed .NET 6 build target as it is out of support.
Floor
- Compiled using .NET 9 (upgrade from .NET 8).

5.0.1 Oct 14, 2024

New feature
You can deserialise "required" lists and "required" list elements, as raised by @akaloshych84 in #502. See nullability and lists.Improvements
- Better error reporting in case class serializer has mismatched definition and repetition levels (as per #502).
- Pass property attributes down to list data field, by @agaskill in #559.
Bug fixed
- Compression/decompression would fail on some platforms like x86 or Linux x86 with musl runtime.
Floor
- boolean columns display as checks.
- Structs display as expandable objects, with properly aligned keys.

5.0.0 Oct 2, 2024

Frequently asked questions

Is Apache Parquet for .NET free?

Yes. Apache Parquet for .NET is free and open-source software released under the MIT license.

What is the latest version of Apache Parquet for .NET?

The latest version is 5.1.1, released on Jul 3, 2025.

Is it safe to download Apache Parquet for .NET?

The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with e0f0f0643d5c604c87bf4258f2b093d24985bdfc14cbaa583bdd5068e0667dbc.

Which Windows versions does Apache Parquet for .NET support?

Apache Parquet for .NET runs on Windows and is available for 64-bit (x64) systems.

How do I uninstall Apache Parquet for .NET?

Open Settings › Apps › Installed apps, find Apache Parquet for .NET and select Uninstall. From the command line, run winget uninstall --id=aloneguid.ParquetDotnet.floor -e.

Is there a portable version of Apache Parquet for .NET?

Yes. Apache Parquet for .NET is available as a portable ZIP archive (floor-win-x64-5.1.1.zip, 64-bit (x64)) that runs without installation. Copy it to any folder or USB drive and run it from there.