facebookresearch / hydra

Hydra is a framework for elegantly configuring complex applications
https://hydra.cc
MIT License
8.84k stars 637 forks source link

Extend list function #2950

Closed jesszzzz closed 1 month ago

jesszzzz commented 2 months ago

Motivation

https://github.com/facebookresearch/hydra/issues/1547 There is currently no clean way to append to a list using the override syntax. It was suggested in the above issue that this could be done by adding a custom function, so that's what this PR does. It means that if the config is:

extras:
    tags: [experiment, trial_1]

composing the config with this as an override: extras.tags="extend_list(another_tag, yet_another_tag)"

would generate

extras:
    tags: [experiment, trial_1, another_tag, yet_another_tag]

Have you read the Contributing Guidelines on pull requests?

Yes

Test Plan

Added unit tests that pass, also checked the added documentation looks correct using yarn start

Related Issues and PRs

https://github.com/facebookresearch/hydra/issues/1547