code: def _rows_differ(row, _row):
      '''
      Check if grafana dashboard row and _row differ
      '''
      row_copy = copy.deepcopy(row)
      _row_copy = copy.deepcopy(_row)
      # Strip id from all panels in both rows, since they are always generated.
      for panel in row_copy['panels']:
          if 'id' in panel:
              del panel['id']
      for _panel in _row_copy['panels']:
          if 'id' in _panel:
              del _panel['id']
      diff = DictDiffer(row_copy, _row_copy)
      return diff.changed() or diff.added() or diff.removed(f _rows_differ(row, _row):
      '''
      Check if grafana dashboard row and _row differ
      '''
      row_copy = copy.deepcopy(row)
      _row_copy = copy.deepcopy(_row)
      # Strip id from all panels in both rows, since they are always generated.
      for panel in row_copy['panels']:
          if 'id' in panel:
              del panel['id']
      for _panel in _row_copy['panels']:
          if 'id' in _panel:
              del _panel['id']
      diff = DictDiffer(row_copy, _row_copy)
      return diff.changed() or diff.added() or diff.removed()
docs: Check if grafana dashboard row and _row differ