MCPcopy Index your code
hub / github.com/apache/arrow

github.com/apache/arrow @apache-arrow-24.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release apache-arrow-24.0.0 ↗ · + Follow
48,105 symbols 172,741 edges 3,126 files 5,497 documented · 11%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Apache Arrow

Fuzzing Status License BlueSky Follow

Powering In-Memory Analytics

Apache Arrow is a universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics. It contains a set of technologies that enable data systems to efficiently store, process, and move data.

Major components of the project include:

The icon denotes that this component of the project is maintained in a separate repository.

Arrow is an Apache Software Foundation project. Learn more at arrow.apache.org.

What's in the Arrow libraries?

The reference Arrow libraries contain many distinct software components:

  • Columnar vector and table-like containers (similar to data frames) supporting flat or nested types
  • Fast, language agnostic metadata messaging layer (using Google's FlatBuffers library)
  • Reference-counted off-heap buffer memory management, for zero-copy memory sharing and handling memory-mapped files
  • IO interfaces to local and remote filesystems
  • Self-describing binary wire formats (streaming and batch/file-like) for remote procedure calls (RPC) and interprocess communication (IPC)
  • Integration tests for verifying binary compatibility between the implementations (e.g. sending data from Java to C++)
  • Conversions to and from other in-memory data structures
  • Readers and writers for various widely-used file formats (such as Parquet, CSV)

Implementation status

The official Arrow libraries in this repository are in different stages of implementing the Arrow format and related features. See our current feature matrix on git main.

How to Contribute

Please read our latest project contribution guide.

Getting involved

Even if you do not plan to contribute to Apache Arrow itself or Arrow integrations in other projects, we'd be happy to have you involved:

Continuous Integration Sponsors

We use runs-on for managing the project self-hosted runners. We use AWS for some of the required infrastructure for the project.

Core symbols most depended-on inside this repo

field
called by 4884
cpp/src/arrow/table.h
new
called by 4759
ruby/red-arrow/lib/arrow/array.rb
push_back
called by 2520
cpp/src/arrow/util/small_vector.h
data
called by 2194
cpp/src/arrow/util/trie_internal.h
Invalid
called by 1996
cpp/src/arrow/status.h
id
called by 1303
ruby/red-arrow-format/lib/arrow-format/org/apache/arrow/flatbuf/dictionary_batch.rb
length
called by 1202
cpp/src/arrow/compute/exec.cc
Make
called by 1168
cpp/src/parquet/schema.h

Shape

Method 22,480
Function 16,436
Class 8,927
Enum 231
Route 31

Languages

C++76%
Ruby12%
Python12%
C1%

Modules by API surface

c_glib/arrow-glib/compute.cpp591 symbols
r/src/arrowExports.cpp549 symbols
cpp/src/generated/Schema_generated.h340 symbols
c_glib/arrow-glib/array-builder.cpp340 symbols
cpp/gdb_arrow.py338 symbols
python/pyarrow/tests/test_pandas.py325 symbols
dev/archery/archery/integration/datagen.py275 symbols
cpp/src/arrow/compute/kernels/scalar_string_ascii.cc263 symbols
cpp/src/generated/parquet_types.cpp262 symbols
python/pyarrow/tests/test_flight.py255 symbols
ruby/red-arrow-format/lib/arrow-format/type.rb246 symbols
c_glib/arrow-glib/basic-array.cpp236 symbols

For agents

$ claude mcp add arrow \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact