Overview

View Source

The main overview, installation, quick start, and usage examples live in the README on GitHub.

This doc set covers:

TopicGuide
Handles, copying, NIF schedulingMemory model
IPC stream and file read/writeIPC guide
Arrow Flight client and serverFlight guide
Arrow Flight SQL remote query clientFlight SQL guide
ADBC database connectivityADBC guide
Parquet read and writeParquet guide
Compute kernels (filter, project, sort)Compute guide
C Data Interface (CDI)CDI guide
Nx tensor bridgeNx guide
Benchmarks and CI publishingBenchmarks guide

Optional integrations

ModuleRequiresWhat it does
ExArrow.FlightSQL.Client(none — built-in)Connect to Arrow Flight SQL servers; query, stream, DML, prepared statements, metadata
ExArrow.FlightSQL.Result(none — built-in)Materialised Flight SQL result with to_dataframe/1 and to_tensor/2
ExArrow.Explorer{:explorer, "~> 0.11"}Convert between ExArrow.Stream/RecordBatch and Explorer.DataFrame
ExArrow.Nx{:nx, "~> 0.9"}Convert numeric Arrow columns to/from Nx.Tensor; build multi-column batches from a tensor map
ExArrow.CDI(none — built-in)Zero-copy Arrow C Data Interface: export/import record batches as raw C struct pointers
ExArrow.ADBC.ConnectionPool{:nimble_pool, "~> 1.1"}NimblePool-backed connection pool for ADBC databases
:adbc_package backend{:adbc, "~> 0.9"} + {:explorer, "~> 0.11"}Supervised pure-Elixir ADBC backend; Database.open(:adbc_package)
ADBC driver download{:adbc, "~> 0.9"}ExArrow.ADBC.DriverHelper.ensure_driver_and_open/2

API reference: mix docs or Hex Docs.