-
Notifications
You must be signed in to change notification settings - Fork 926
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
[KED-3023] Enable plugins to extend starter-aliases default list #1040
Comments
I like this idea! Let me bring it up with the team |
I also like this idea but am a little bit unsure about implementation. Thinking out loud here... As you point out, we need to make it a bit more general than just allowing new starter names to be added, since you will need to accept different The default
So far so good, but what I don't understand and hopefully @Galileo-Galilei can explain is how the user extends the
... but I don't see how that change propagates through for when you do |
TBH, I haven't thought in details about the exact implementation. Actually I want to do exactly what you describe above (updating the My naive idea was that you might have a and in a KEDRO_CONSTANTS={
_STARTER_ALIASES: {"my_starter": {"template_path": "blahblahblah", directory="blah"},
CONF_ROOT=[path/to/conf]
} Which would enable you to access these constants when loading the entrypoints and override some of the constants. Honestly, this feels quite hardcoded and not very flexible. Maybe P.S: Specifically for CONF_ROOT, i think that in general it is more flexible to inject it at runtime through the CLI as suggestedin your user research on configuration, something like |
My feeling is that things like
|
Hi @AntonyMilneQB, just to clarify, I don't think The hacky entrypoint solution is only necessery for global constants (like P.S: I really like the |
@Galileo-Galilei Cool, thanks very much for your comments. Completely agree with what you say, and pleased you like the new |
Linking here some alternative thinking on starter discoverability before we get tied up to a single solution/idea: kedro-org/kedro-starters#40 (review) |
@lorenabalan I've read the discussion and I think that browsing github to find kedro-starters among community-developped examples may be a good idea, but comes with some caveats to keep in mind:
|
Description
We have at work a few kedro starters templates which enable to create kedro projects with a bunch of internal configuration (pre-commit, gitlab-ci, custom ConfigLoader...). We also have a custom plugin which modifies kedro's internal (especially the CONF_ROOT constant and the CLI).
When we distribute our template insisde the organisation, we have to give the entire VCS path to the project to our user, and it is not very convenient. I wish we were able to decalre a new starter-alias in the plugin, and when the plugin is installed and auto-discovered by kedro, users can user:
kedro new --starter=my_starter
wheremy_starter
VSC path was declared in the plugin, maybe like this:Context
The 2 main benefits I expect are:
Possible Implementation
Add a
_PLUGIN_STARTER_ALIAS
constant in plugins which will be user to extend the https://github.com/quantumblacklabs/kedro/blob/bce62c824a4786e7cf9cc355b31840879ec851bf/kedro/framework/cli/starters.py#L31-L38 set.It likely needs a bit more refactoring to make it a
dict
accepting different _STARTERS_REPO path which is currently a hardcoded path to a single one github repo.The text was updated successfully, but these errors were encountered: