arrow library
Owned Arrow logical values and standard Apache Arrow IPC interchange.
This standalone core is separate from the narrower Polars copied-batch
protocol. Logical types include maps, unions, intervals, fixed-size binary,
views, large lists, and run-end encoding. int128 and uint128 are binding
extensions rather than Apache Arrow integer types.
Values are owned, copied Dart objects: there is no zero-copy buffer access
or memory mapping. ArrowIpcStreamReader, ArrowIpcStreamWriter,
ArrowIpcFileReader and ArrowIpcFileWriter implement the standard
Apache Arrow IPC stream and file formats (metadata V5, little-endian only)
over in-memory bytes, bounded by ArrowIpcLimits. Writers emit
uncompressed bodies. Readers decode LZ4_FRAME and ZSTD bodies on the Dart
VM via the pure Dart libcompress package, and LZ4_FRAME only on the web.
int128/uint128 columns cannot be written to IPC.
Classes
- ArrowArray
- ArrowArrayBuilder
- ArrowBinaryType
- ArrowBinaryValue
- ArrowBooleanType
- ArrowBooleanValue
- ArrowDataType
- ArrowDateType
- ArrowDecimalType
- ArrowDecimalValue
- ArrowDictionaryIndexValue
- ArrowDictionaryType
- ArrowDurationType
- ArrowExtensionType
- ArrowExtensionValue
- ArrowField
- ArrowFixedSizeBinaryType
- Fixed-width binary: every value has exactly byteWidth bytes.
- ArrowFixedSizeListType
- ArrowFloatingType
- ArrowFloatingValue
- An IEEE floating-point bit pattern. This preserves NaN payloads and signed zero.
- ArrowIntegerType
- ArrowIntegerValue
- ArrowIntervalType
- Calendar interval in the given unit.
- ArrowIntervalValue
- An Arrow interval. Only the components relevant to unit are non-zero: yearMonth uses months; dayTime uses days and milliseconds; monthDayNano uses months, days, and nanoseconds.
- ArrowIpcFileReader
-
Reads an Arrow IPC random-access file (
ARROW1magic plus footer). - ArrowIpcFileWriter
- Writes an Arrow IPC random-access file.
- ArrowIpcLimits
- Resource limits applied while decoding untrusted IPC input.
- ArrowIpcStreamReader
- Reads an Arrow IPC stream (a sequence of encapsulated messages).
- ArrowIpcStreamWriter
- Writes an Arrow IPC stream terminated by the end-of-stream marker.
- ArrowListType
- ArrowListValue
- ArrowMapEntry
- One key/value pair of an ArrowMapValue. Keys are never null.
- ArrowMapType
-
Arrow
Map: a list of non-nullentriesstructs of<key, value>. - ArrowMapValue
- An Arrow map row. Entry order is preserved and duplicate keys are retained, matching the physical list-of-entries layout.
- ArrowNullType
- ArrowRunEndEncodedType
- Run-end encoded data. runEndsField must be a non-nullable int16, int32, or int64 field. Arrays of this type hold logical per-row values.
- ArrowSchema
- ArrowStringValue
- ArrowStructEntry
- ArrowStructType
- ArrowStructValue
- Ordered struct members. Names are retained to detect field-order mistakes.
- ArrowTable
- An immutable schema plus its record batches.
- ArrowTemporalValue
- A raw date/time/timestamp/duration counter in the datatype's declared unit.
- ArrowTimestampType
- ArrowTimeType
- ArrowUnionType
- Arrow sparse or dense union. Each child has a type id (default its index).
- ArrowUnionValue
- A union row tagged with its child typeId. A null value is a null in the selected child (unions have no top-level validity bitmap).
- ArrowUtf8Type
- ArrowValue
- OwnedBatchJsonCodec
- JSON codec for the protocol's copied, binding-owned logical column batches.
- RecordBatch
Enums
- ArrowDateUnit
- ArrowIntervalUnit
-
Arrow interval unit, as in
IntervalUnitfrom Schema.fbs. - ArrowOffsetWidth
- Physical layout family for variable-length string, binary, and list data.
- ArrowTimeUnit
- ArrowUnionMode
- Arrow union physical layout.
Functions
-
expandRunEnds(
ArrowRunEndEncodedType type, List< int> runEnds, List<ArrowValue?> runValues, {int? maxLength}) → List<ArrowValue?> - Expands a run-end encoding to logical rows, validating run ends.
-
nestedDictionaryTypes(
ArrowDataType type) → List< ArrowDictionaryType> -
The dictionary types strictly inside
type, in ArrowArray.nestedDictionaries order. -
validateArrowValue(
ArrowDataType type, ArrowValue value, {String path = 'value'}) → void