Kedro + Great Expectations init - config loader error!

Hi everyone, I’m stuck trying to initialise the kedro-great plugin on my existing kedro project. I keep getting an error saying that the ConfigLoader is failing to instantiate, and that it gets a NoneType instead when calling _get_config_loader(). I have the default register_config_loader hook in my ProjectHooks, and the standard conf/base setup for my config files, so I don’t understand what could be causing the error.

I’ve tried starting a KedroSession in my terminal and loading the config loader, as well as doing so in a kedro jupyter notebook, and both were successful.

I’m using kedro 0.17.0, and kedro-great 0.2.7. Is kedro-great compatible with the most recent release (0.17) of kedro?

Here is the full error:

Traceback (most recent call last):
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\Scripts\", line 9, in <module>
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\kedro\framework\cli\", line 696, in main
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\click\", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\click\", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\click\", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\click\", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\click\", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\click\", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\kedro_great\cli\", line 57, in init
    new_datasources = generate_datasources(kedro_context, ge_context)
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\kedro_great\cli\", line 82, in generate_datasources
    catalog = kedro_context.catalog
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\kedro\framework\context\", line 304, in catalog
    return self._get_catalog()
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\kedro\framework\context\", line 340, in _get_catalog
    conf_catalog = self.config_loader.get("catalog*", "catalog*/**", "**/catalog*")
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\kedro\framework\context\", line 430, in config_loader
    return self._get_config_loader()
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\kedro\framework\context\", line 413, in _get_config_loader
    raise KedroContextError(
kedro.framework.context.context.KedroContextError: Expected an instance of `ConfigLoader`, got `NoneType` instead.

If anyone has experience with kedro-great, then it would be great if you understood what was going on! If you need any further information let me know.

1 Like

Hi @mjc239! I hope that you’re well. I don’t believe that kedro-great supports Kedro 0.17.0. You might want to check how to do basic integration of Great Expectations using the Kedro documentation, or maybe @DataEngineerOne might want to weigh in on this one?

1 Like

Thanks @yetudada , I’ll take a look at that - I’m relatively new to kedro let alone kedro-great so I’m focussing on the main functionality at the moment, but the integration with Great Expectations definitely looks useful for the project I’m working on!