Skip to content

Common metadata operations on split-attributes #5444

@pp-mo

Description

@pp-mo

As mentioned in #5410

This is about common-metadata operations : equal(compare) / difference / combine, as they apply to CubeMetadata, where the attributes properties are new-style "split" attribute dictionaries.

The #5410 PR provides that the new cube.attributes "CubeAttrsDict" can stand in for the legacy LimitedAttributeDicts where required, with a particular equivalence to the single dict form. Thus, everything using common metadata will still "work",i.e. not fail.

But @trexfeathers pointed out that we might want different behaviours, specific to split dictionaries.
For example, do we consider cube metadata equal if their atributes are CubeAttrsDict(globals={'x':1}) and CubeAttrsDict(locals={'x':1})? These are equivalent, when treated as single "combined" dictionaries, but that is probably not how we want the operation to work.

The basis of a possible solution is suggested here.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions