[Diff since v2.6.2](https://github.com/apache/arrow-julia/compare/v2.6.2...v2.7.0)

**Merged pull requests:**
- cleanup testing (#462) (@baumgold)
- Formatting (#464) (@baumgold)
- Ensure that ArrowTypes.default is defined for Vararg tuples (#466) (@quinnj)
- Fix typo in passing largelists keyword arg (#467) (@quinnj)
- Try to fix docs by publishing to apache infra (#468) (@quinnj)
- Use wkspawn from ConcurrentUtilities instead of Threads.spawn (#469) (@quinnj)
- Fix documentation link (#478) (@guilhermebodin)
- Fix documentation example for Arrow.Writer (#479) (@guilhermebodin)
- Fix example in Arrow.Writer (#480) (@guilhermebodin)
- Docs: add a note about using `copy()` to get a `DataFrame` where the columns are regular `Vector`s (#487) (@DilumAluthge)
- bump (#488) (@JoaoAparicio)
- Use https://arrow.apache.org/julia/ as the official document URL (#490) (@kou)
- Fix docs errors (#491) (@ericphanson)
- enable field-order-agnostic overloads of `fromarrow` for struct types (#493) (@jrevels)

**Closed issues:**
- Loss of parametric type information for custom types (#134)
- Look into potential over-copying when copying arrow vector (#190)
- Arrow.write with partition/partitioner results batch unique value error (#192)
- Roundtrippability of special strings (#196)
- Support InlineStrings (#304)
- Invalid argument error (#336)
- `ERROR: MethodError: no method matching zero(::Type{Union{Nothing, String}})` when trying to serialize `Union{Nothing,String}` fields  (#368)
- github releases not in sync  (#370)
- Typo in kwargs of arrowvector for ListKind (#392)
- Introduce automatic code formatting with JuliaFormatter.toml (#398)
- Issue with `Union{Missing, VersionNumber}` (#461)
- GitHub Pages build error (#463)
- Use https://arrow.apache.org/julia/ as the official Website URL (#470)
- `Arrow.write` performance on large DataFrame (#473)
- `getindex` broken with `SVector{3, UInt}` in the presence of missing data (#486)
- Removing .arrow files without closing Julia seems impossible in Windows (#492)
enable field-order-agnostic overloads of `fromarrow` for struct types (#493)

Motivated by
https://github.com/beacon-biosignals/Legolas.jl/issues/94#issuecomment-1837366852

Still requires:

- [x] docs
- [x] a test
- [x] a bit more due diligence benchmarking-wise. `@benchmark`ing the
access in the test case from
https://github.com/beacon-biosignals/Legolas.jl/issues/94 didn't reveal
any perf difference, which seems like a good sign

---------

Co-authored-by: Eric Hanson <5846501+ericphanson@users.noreply.github.com>
6 files changed
tree: cd893c29839c524ca2c5944b8e05f26e299df105
  1. .github/
  2. dev/
  3. docs/
  4. src/
  5. test/
  6. .asf.yaml
  7. .gitignore
  8. .JuliaFormatter.toml
  9. codecov.yaml
  10. LICENSE
  11. Project.toml
  12. README.md
README.md

Arrow

docs CI codecov

deps version pkgeval

This is a pure Julia implementation of the Apache Arrow data standard. This package provides Julia AbstractVector objects for referencing data that conforms to the Arrow standard. This allows users to seamlessly interface Arrow formatted data with a great deal of existing Julia code.

Please see this document for a description of the Arrow memory layout.

Installation

The package can be installed by typing in the following in a Julia REPL:

julia> using Pkg; Pkg.add("Arrow")

Local Development

When developing on Arrow.jl it is recommended that you run the following to ensure that any changes to ArrowTypes.jl are immediately available to Arrow.jl without requiring a release:

julia --project -e 'using Pkg; Pkg.develop(path="src/ArrowTypes")'

Format Support

This implementation supports the 1.0 version of the specification, including support for:

  • All primitive data types
  • All nested data types
  • Dictionary encodings and messages
  • Extension types
  • Streaming, file, record batch, and replacement and isdelta dictionary messages

It currently doesn't include support for:

  • Tensors or sparse tensors
  • Flight RPC
  • C data interface

Third-party data formats:

See the full documentation for details on reading and writing arrow data.