-
Notifications
You must be signed in to change notification settings - Fork 910
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a new configloader with OmegaConf
as replacement for anyconf
#1868
Comments
@MerelTheisenQB Do you know if
if I wanted to just change the experiment name, then this config located in
overrides In contrast, Helm package manager merges the configuration to the lowest level of the YAML tree, allowing to adjustment of only the necessary values. It would be great to be able to achieve this in Kedro too, but this change would be incompatible with the previous behavior. |
OmegaConf
as replacement for anyconf
in ConfigLoader
OmegaConf
as replacement for anyconf
See the OmegaConf docs for an example snippet you can run: https://omegaconf.readthedocs.io/en/2.2_branch/usage.html#merging-configurations |
@MerelTheisenQB Fantastic! Thanks a lot for the confirmation |
Introduction
As part of the work on improving configuration in Kedro we assessed alternatives for
anyconfig
.anyconfig
was initially chosen because it supports reading different configuration formats. In practice, most users useyml
files and so we want to use an alternative library that offers better functionality foryml
configuration.In #1657 it was decided to use
OmegaConf
as this replacement. More info about that conclusion can be found here: #1657 (comment)We also did research to verify what config file formats users use in #1703
Implementation
In order to introduce this change in a non-breaking way we have to do the following:
OmegaConf
as replacement foranyconf
in this new configloader.OmegaConf
inConfigLoader
. In the first iteration we want to keep these advanced features turned off https://omegaconf.readthedocs.io/en/latest/custom_resolvers.html#clear-resolver. It's easier to introduce them step by step, but removing them would be a breaking change. In Allow users to pass credentials through environment variables #1909 we will introduce environment variables for credentials.The text was updated successfully, but these errors were encountered: