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\kedro-script.py", line 9, in <module>
    sys.exit(main())
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\kedro\framework\cli\cli.py", line 696, in main
    cli_collection(**cli_context)
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\click\core.py", 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\core.py", 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\core.py", 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\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\kedro_great\cli\init.py", 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\datasource.py", 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\context.py", line 304, in catalog
    return self._get_catalog()
  File "C:\Users\mc\AppData\Local\Continuum\anaconda3\envs\bri\lib\site-packages\kedro\framework\context\context.py", 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\context.py", 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\context.py", 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