Removing DimensionGraph and DataCoordinate's Mapping interface

Later today I’m planning to merge DM-41326, which completes the implementation of RFC-834 by removing a number of already-deprecated middleware interfaces, including the DimensionGraph class (replaced by DimensionGroup) and the Mapping interfaces of the DataCoordinate class (it now has a mapping, which you can get via its .mapping property).

This has gone through the full CI suite available in Jenkins, and I’ve run ap_verify locally. But there are two changes in play that might break code that isn’t covered by these:

  • While the methods that defined the mapping interface on DataCoordinate(e.g. keys) were fully deprecated, and emitted warnings when used, isinstance(data_coordinate, collections.abc.Mapping) did not emit a warning, but will now return False instead of True.
  • Due to a mistake, the DimensionElement.graph property was documented as deprecated but did not actually emit a warning.

I’ve grepped around the prompt_processing, summit_utils, and rubintv_production repos for both of these and didn’t find anything, and given how edgy these edge cases are I don’t think they should hold up the removal. But please let me know ASAP if there are other repos I should poke around in or manual tests I should run.

1 Like