takikadiri / kedro-boot

A kedro plugin that streamlines the integration between Kedro projects and third-party applications, making it easier for you to develop end-to-end production-ready data science applications.
Apache License 2.0
36 stars 6 forks source link

ConfigLoader->OmniaConfigLoader #12

Closed imlercj closed 9 months ago

imlercj commented 9 months ago

Hi, I am building a pipeline to use with Kedro-boot, but get this error:

ImportError: cannot import name 'ConfigLoader' from 'kedro.config' (/opt/homebrew/Caskroom/miniforge/base/envs/cogniteds/lib/python3.11/site-packages/kedro/config/__init__.py)
Traceback (most recent call last):

According to the new release note, ConfigLoader has been replaced with OmniaConfigLoader, are you planning to release a new version.

takikadiri commented 9 months ago

Hi, thank you for raising this. kedro-boot will natively support OmegaConfigLoader with the support of kedro 0.19.x

takikadiri commented 9 months ago

@imlercj The kedro-boot support of kedro > 0.19.x is merged, it subquesently support OmegaConfigLoader. Moreover, the support of the boot_package is also merged.

Could you please test you discussed use cases against the main branch of kedro-boot ? Since you inject data into the session, you would need declaring you're inputs in compilation_specs like follow :

from kedro_boot.app.booter import boot_package
from kedro_boot.framework.compilation.specs import CompilationSpec
session = boot_package(package_name="<your_package>", compilation_specs=[CompilationSpec(inputs=["your_client_dataset_name"])], kedro_args={"pipeline": "your_pipeline", conf_source="<your_conf_source>", ....})
run_resultst = session.run(inputs={"your_client_dataset_name": your_client})