JuliaDataCubes / JuliaDataCubes/YAXArrayBase.jl

Merge with AxisArrayConversion

Open
#4 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
3
Forks
9
PR merge metrics
No merged PRs in 30d

Description

From discourse merge this package with AxisArrayConversion. As you say we should probably merge the two packages.
So how about merge!(YAXArrayBase, AxisArrayConversion) and deprecating my package.
I think our packages have a bit different philosophy though. So here are some features/goals of AxisArrayConversion
and I would like to know whether you are open to supporting them here:

  • Should be possible to convert from and to a NamedTuple
yaxconvert(AxisArray, (axes=(x=1:2, y=1:3), values=randn(2,3))
yaxconvert(NamedTuple, some_array)
  • Package should provide helper functions to lift objects to axis array world. For instance say you have something like an axis array, but whose dimensions don't have names.
obj = (axes=(1:2, 1:3), values=reshape(1:6, 2, 3))
lift(obj) == (axes=(x1=1:2, x2=1:3), values=obj.values)
  • Package should provide helper functions, for writing axis array backend agnostic code

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the linked Discourse discussion and compare the YAXArrayBase and AxisArrayConversion package APIs. Clarify whether the packages should merge and which NamedTuple conversion, lifting, and backend-agnostic helper goals are in scope; done requires an agreed migration and implementation plan.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.