def _merge_config(d, u): for k, v in viewitems(u): if isinstance(v, collections.Mapping): r = _merge_config(d.get(k, {}), v) d[k] = r else: d[k] = u[k] return d