`index_labels` method and `IndexLabel` type indexing
Successor to #260. Implements basic tools for accessing multidimensional keys and fancy indexing.
The goal is to have a common backend for some of the clearly overlapping traits/method that go into AxisArray, DimensionalData, and AxisKeys. This should also help us get closer to helping other packages provide support for multiple fancy array types without explicitly depending on them.
@johnnychen94 , @rafaqz , @mcabbott may be interested.
Codecov Report
Merging #328 (0ad5cd6) into master (41bfc6f) will decrease coverage by
0.26%. The diff coverage is73.07%.
@@ Coverage Diff @@
## master #328 +/- ##
==========================================
- Coverage 90.27% 90.00% -0.27%
==========================================
Files 9 9
Lines 1337 1361 +24
==========================================
+ Hits 1207 1225 +18
- Misses 130 136 +6
| Impacted Files | Coverage Δ | |
|---|---|---|
| src/ArrayInterface.jl | 85.96% <ø> (ø) |
|
| src/indexing.jl | 82.92% <60.00%> (-1.37%) |
:arrow_down: |
| src/axes.jl | 91.66% <85.71%> (-0.37%) |
:arrow_down: |
| src/dimensions.jl | 94.03% <100.00%> (+0.16%) |
:arrow_up: |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
After a month of dedicated bike-shedding on discourse, I think this is ready for review.
It would be good to have some relevant package maintainers okay the name of the function @rafaqz (DimensionalData.jl), @mcabbott (AxisKeys.jl), @davidavdav (NamedArrays.jl), and someone from AxisArrays (maybe @johnnychen94). I'd also like an okay on the syntax from @ChrisRackauckas because we're using the term "label" here and I want to ensure that this isn't problematic for LabelledArrays.jl.
I don't care about the name
@mcabbott, would you mind providing some input if you have time?
Anything static should go to https://github.com/JuliaArrays/StaticArrayInterface.jl