From 758964984c05763aefc49be350c37e48727e6190 Mon Sep 17 00:00:00 2001 From: Khalil Meftah Date: Thu, 7 May 2026 11:37:02 +0200 Subject: [PATCH] refactor: enforce mandatory config_class and name attributes in RLAlgorithm --- src/lerobot/rl/algorithms/base.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/lerobot/rl/algorithms/base.py b/src/lerobot/rl/algorithms/base.py index 69beff36b..9f60dd3b7 100644 --- a/src/lerobot/rl/algorithms/base.py +++ b/src/lerobot/rl/algorithms/base.py @@ -32,15 +32,8 @@ if TYPE_CHECKING: class RLAlgorithm(abc.ABC): """Base for all RL algorithms.""" - config_class: type[RLAlgorithmConfig] | None = None - name: str | None = None - - def __init_subclass__(cls, **kwargs): - super().__init_subclass__(**kwargs) - if not getattr(cls, "config_class", None): - raise TypeError(f"Class {cls.__name__} must define 'config_class'") - if not getattr(cls, "name", None): - raise TypeError(f"Class {cls.__name__} must define 'name'") + config_class: type[RLAlgorithmConfig] + name: str @abc.abstractmethod def update(self, batch_iterator: Iterator[BatchType]) -> TrainingStats: