in src/chug/common/config.py [0:0]
def set_default(self, right, inplace=False):
# set left fields from right fields if left fields are not-initialized (None)
changes = {
f.name: v for f in fields(self)
if (v := getattr(right, f.name)) is not None and getattr(self, f.name) is None
}
if inplace:
for k, v in changes.items():
setattr(self, k, v)
return self
else:
return replace(self, **changes)