import inspect class Config: # From https://github.com/leggedrobotics/legged_gym/blob/master/legged_gym/envs/base/base_config.py def __init__(self) -> None: """ Initializes all member classes recursively. Ignores all namse starting with '__' (buit-in methods).""" self.init_member_classes(self) @staticmethod def init_member_classes(obj): for key in dir(obj): if key == "__class__": continue var = getattr(obj, key) if inspect.isclass(var): i_var = var() setattr(obj, key, i_var) Config.init_member_classes(i_var)