-
Notifications
You must be signed in to change notification settings - Fork 930
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
Enable dotted keys in params passed to kedro run
#1765
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes! This inconsistency has annoyed me forever
Hmmm, interesting idea. Given that we're planning to switch to If it's something that Let me just note this down here since I always need to remind myself of the discussion and hunt down the links - https://github.com/quantumblacklabs/private-kedro/issues/965 (beginning of Alternatives & Tradeoffs section) and #399 (comment) for original discussion of |
After a quick search, it looks like this is not possible in OmegaConf: https://stackoverflow.com/questions/64864518/how-to-escape-the-when-using-dot-notation-commandline-arguments Closely related, they had a proposal for "compact key support" in omry/omegaconf#152, which was then aborted in omry/omegaconf#332. We should try to align the way we handle parameters with this as closely as possible I think. Possibly this would mean that we no longer encourage a parameter with name |
Compact keys are a bit different; a compact key has the same semantic meaning as the fully-expanded, nested version, whereas here we're talking about enabling a key name to have dots in it. omry/omegaconf#152 (comment) is more relevant to the use case that inspired this. |
Yeah, understood. I think the problem is that in Kedro we currently sort of enable compact keys.
Here it doesn't actually form the nested dictionary in the compact key case:
The problem (or benefit, depending on your view) is that both of these will work the same way as a node input, i.e. both In fact, as per https://github.com/quantumblacklabs/private-kedro/issues/965, there's a possible clash here since who knows which takes priority, i.e. if I change Hence, as things stand in Kedro it's not clear to me a priori what Overall, it seems like kind of an edge case which we haven't solved for the |
I agree with @AntonyMilneQB that we should probably hold off on this change and follow the |
@AntonyMilneQB @MerelTheisenQB Sorry for not responding sooner, but I've been thinking about it--isn't this more aligned with OmegaConf (as in, there's a way to avoid fully unrolling parameters, rather than making compact keys, for which there is no OmegaConf equivalent, the default)? I feel like this is a minor change that makes things less ambiguous (as pointed out by Antony) until we move to OmegaConf. The need basically arises from a use case where was passing Kubernetes metadata as parameters. |
@merelcht Just to confirm, this is no longer relevant because of moving to OmegaConf, right? If so, I'll close it. |
Sorry for the late reply @deepyaman ! Yes I think we should just leverage |
Description
Development notes
Checklist
RELEASE.md
file