The current Python bindings work nicely, but have the limitation that are based on numpy which doesn't like nested ragged arrays, which is all what XCDF is.
A nice project specifically built to deal with this kind of arrays is awkward-array.
If we manage to add a binding interface based on this, then and XCDF file should be basically an awkward "table" (see scikit-hep/awkward#2597).
The only limitation wrt to astropy tables is the support of units which is still under development (see scikit-hep/awkward#2468).
The metadata (in XCDF the "comments" section) might be simply loaded as an array of awkward records.
The current Python bindings work nicely, but have the limitation that are based on numpy which doesn't like nested ragged arrays, which is all what XCDF is.
A nice project specifically built to deal with this kind of arrays is awkward-array.
If we manage to add a binding interface based on this, then and XCDF file should be basically an awkward "table" (see scikit-hep/awkward#2597).
The only limitation wrt to astropy tables is the support of units which is still under development (see scikit-hep/awkward#2468).
The metadata (in XCDF the "comments" section) might be simply loaded as an array of awkward records.