Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. R
  3. feather <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">

feather <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">

Apache-2.0JavaScriptv0.4.0

Feather is a binary columnar serialization format for data frames, enabling fast and interoperable data sharing between Python, R, and other languages.

GitHubGitHub
2.8k stars165 forks0 contributors

What is feather <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">?

Feather is a binary columnar serialization format for data frames that enables fast and interoperable data sharing between programming languages like Python, R, and Julia. It solves the problem of inefficient data exchange between different data analysis ecosystems by providing a high-performance, language-agnostic storage format. Built on Apache Arrow, it ensures quick read/write operations with full support for complex data types and null values.

Target Audience

Data scientists, analysts, and researchers who work with data frames across multiple programming languages and need efficient data interchange between tools like Python pandas, R data.frames, and Julia DataFrames.

Value Proposition

Developers choose Feather for its exceptional speed in reading and writing data frames, seamless interoperability between Python, R, and Julia, and robust support for diverse data types including null values. Its integration with Apache Arrow provides a standardized, high-performance foundation that outperforms traditional formats like CSV or pickle for data frame storage.

Overview

Feather: fast, interoperable binary data frame storage for Python, R, and more powered by Apache Arrow

Use Cases

Best For

  • Sharing large data frames between Python and R workflows
  • Storing intermediate results in data pipelines for quick reloading
  • Exchanging data between pandas and R data.frame environments
  • Reducing I/O bottlenecks in data analysis scripts
  • Maintaining data type fidelity when moving between languages
  • Working with datasets containing null values and categorical variables

Not Ideal For

  • Projects requiring data interchange with languages outside Python, R, and Julia, such as Java or C++
  • Use cases where human-readable formats like CSV are needed for manual inspection or editing
  • Environments prioritizing high compression ratios over read/write speed, as formats like Parquet offer better compression
  • Applications needing advanced schema evolution or complex nested data support, due to Feather's simplified schema

Pros & Cons

Pros

Blazing Fast I/O

Leverages Apache Arrow's columnar memory layout for extremely quick read and write operations, making it ideal for reducing I/O bottlenecks in data analysis scripts.

Seamless Language Interoperability

Provides bindings for Python, R, and Julia, allowing data frames to be shared effortlessly between these ecosystems, as highlighted in the README for multi-language workflows.

Robust Data Type Support

Handles a wide range of types including numeric, booleans, dates, categoricals, strings, and binary data, with full null value support ensuring data integrity.

Apache Arrow Integration

Built on the Apache Arrow specification, ensuring standardization and high performance, with development now part of the Arrow project for continued support and faster implementations.

Cons

Wrapped Implementation

The feather packages are now wrappers around Apache Arrow (e.g., arrow::read_feather), which can add dependency bloat and potential performance overhead compared to using Arrow directly.

Limited Language Bindings

Primarily supports Python, R, and Julia; if you need to work with other languages like Java or C++, you must use Arrow directly, which has a broader but more complex ecosystem.

No Built-in Compression

Focuses on speed over compression, so for storage-constrained environments, formats like Parquet are more efficient, as they offer better compression ratios out of the box.

Frequently Asked Questions

Quick Stats

Stars2,757
Forks165
Contributors0
Open Issues7
Last commit7 months ago
CreatedSince 2016

Tags

#julia#data-serialization#apache-arrow#data frames#columnar-storage#data-interchange#python#r#binary-format

Built With

A
Apache Arrow

Included in

R6.4k
Auto-fetched 6 hours ago

Related Projects

readr <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">readr <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">

Read flat files (csv, tsv, fwf) into R

Stars1,035
Forks295
Last commit3 months ago
vroomvroom

Fast reading of delimited files

Stars642
Forks74
Last commit1 month ago
riorio

🐟 A Swiss-Army Knife for Data I/O

Stars619
Forks78
Last commit3 days ago
havenhaven

Read SPSS, Stata and SAS files from R

Stars453
Forks116
Last commit5 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub