This is the second of two BoFs planned several years ago, to replace AxisArrays.jl. Per the original plan, we would go away and make many packages to try many ideas. Come back and touch base in 2020, and then draw conclusions in 2021. The goal this year is to determine a final plan to either get down to a small number of packages, or establish a common interface.
Notes from last years discussions can be found here.
Since then it has emerged clarity of 3 packages that can basically replace AxisArrays.jl with a more modern and idiomatic interface.
In approximate order of power and also complexity (both for users and for maintainers) they are: AxisKeys.jl, AxisIndices.jl, and DimensionalData.jl (the former two building upon NamedDims.jl for naming axes).
Since last year, IndexedDims.jl has been deprecated in favour of AxisKeys.jl.
An ideal outcome of this BoF session would be an agreement to deprecate an additional package for one of the others, or even deprecating two leaving one.
A less ideal, but still very good outcome of the BoF is to discuss a common API (like Tables.jl), which each package can extend, and to direct someone to lead the establishment of this API, and ensure that it gets rolled out.
We'll be using a google doc to organize speaking turns during the call.