BenchMARL uses a dual approach for configuration: it can be managed directly within a Python script or via hydra.
All components (Experiments, Algorithms, Tasks, and Models) have corresponding YAML configuration files located in the benchmarl/conf directory. These YAML files are loaded into Python dataclasses which serve as schemas. This provides both separation of configuration from code and strong typing for parameter name and type validation.
If you need to load and validate a configuration YAML file manually in a script without using Hydra, you can use the .get_from_yaml() method available on the component's configuration dataclass.