Simon Bull
04/10/2026, 4:11 AMextra_args: dict = client.get_params(run_desc)
Then I would do something like:
actual_params = OmegaConf.merge(catalog.load("parameters"), extra_args)
Where can I best do this?
I noticed for example that if I try to modify parameters in a before_pipeline_run hook, the catalog params has already been split out as parameters, params:sec1 etc, and if this extra_args changes parameters broadly then it's not trivial walk through all and manipulate via the catalog.
What's the best way to do this?Simon Bull
04/10/2026, 4:44 AMafter_context_created and add these params as context._runtime_params.
Doesn't seem ideal using the _ method but seems to what I want for now.
Happy to hear better suggestionsRashida Kanchwala
04/10/2026, 8:09 AMafter_context_created is the right hook to use. There are two approaches depending on your use case:
If extra_args only overrides keys already defined in parameters.yml, you can use the runtime_params resolver [link]
If extra_args adds new keys not already in parameters.yml, you can bypass the config loader directly. See the docs on bypassing configuration loading rules [link].Simon Bull
04/10/2026, 3:08 PMruntime_params is the right approach.
However, one small question: in after_context_created, the context has already been instantiated. runtime_params is an init arg for KedroContext but actually stored as a _runtime_params, i.e. implied to be "private".
-> Is there any risk or downside to modifying the _runtime_params after instantiation?Rashida Kanchwala
04/10/2026, 3:44 PMcontext.config_loader.runtime_paramsSimon Bull
04/10/2026, 5:04 PM