# arrow-mlake

> arrow-mlake, a magmalake tin: The Apache Arrow memory layout, the C Data Interface and IPC streams in pure Mojo, with no FFI: its one dependency is memory-region-mojo.

[magmalake](https://magmalake.dev/) [arrow-mlake](https://magmalake.dev/s/arrow-mlake)

The Apache Arrow memory layout, the C Data Interface and IPC streams in pure Mojo, with no FFI: its one dependency is memory-region-mojo. A stopgap until marrow, the community Arrow for Mojo, builds on Mojo 1.x.

Install

```
pixi shelf add arrow-mlake-mojo
```

Version

`0.2.1` on mojoshelf

Source

[GitHub](https://github.com/magmalake/arrow-mlake.mojo) [README](https://github.com/magmalake/arrow-mlake.mojo#readme)

## Works today

- ArrayData and ArrayArena: flat, nested and extension types
- Export and import over the C Data Interface, release callbacks and all
- IPC stream writer and reader, with a bounds-checked FlatBuffers reader
- What parquet hands its batches back in

Checked against pyarrow imports what it exports over C, and reads and writes its IPC streams both ways

- [parquet](https://magmalake.dev/s/parquet) read · write · every encoding · Arrow out
- [parquet-full](https://magmalake.dev/s/parquet-full) parquet · plus ZSTD, BROTLI and LZ4
- [avro](https://magmalake.dev/s/avro) object container files, both ways
- [roaring](https://magmalake.dev/s/roaring) 32/64-bit · deletion vectors
- [Every tin](https://magmalake.dev/tins)

[A magmalake project](https://magmalake.dev/)

Apache 2.0 · © 2026 Marius Seritan
