Skip to content
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

Discuss whether to add kedro template {thing} #1499

Closed
merelcht opened this issue May 4, 2022 · 3 comments
Closed

Discuss whether to add kedro template {thing} #1499

merelcht opened this issue May 4, 2022 · 3 comments
Labels
Issue: Feature Request New feature or improvement to existing feature Stage: Technical Design 🎨 Ticket needs to undergo technical design before implementation

Comments

@merelcht
Copy link
Member

merelcht commented May 4, 2022

So much like the project CLI being removed from the template I'm fine with this living docs.

However what do we think about a kedro template {thing} command?

We could use it to create templates for custom CLI, logging, datasets etc. a bit like we do for kedro pipeline create.

Thoughts?

Originally posted by @datajoely in #1474 (comment)

@merelcht merelcht added the Issue: Feature Request New feature or improvement to existing feature label May 4, 2022
@datajoely
Copy link
Contributor

So I think this would be really neat for some of the custom things people do in 3 main areas:

  • Custom DataSets
  • Hooks
  • CLI.py

Slightly less useful but also a Custom Runner could fall into that.

One extra reason I'd like this as a code rather than docs is that we could catch regressions much much quicker.

@antonymilne
Copy link
Contributor

antonymilne commented May 5, 2022

This is a very interesting idea. The main alternatives in my mind would be:

  • starter(s) which illustrate how to customise each component. But that's a bit of a hassle if you just want to customise one file and don't want to use a whole different starter
  • very clear documentation that is easy to copy and paste from. This is what we currently try to do, but it's not really clear enough and hard to keep up to date as you say
  • empty placeholder file(s) like hooks.py, cli.py in the template which indicate how and where you could customise these things if you want to. But that's going in the opposite direction of recent streamlining of the template

A whole new command group kedro template definitely sounds more user-friendly to me than any of the above 👍 My only question would be how many people would use it 🤔

Copying some other thoughts I had here just so it's all in one place:

I'm also not sure about the removal of cli.py and hooks.py for the same reasons (like you say, logging.yml seems less important though). It's a balance between:

  • the kedro template should be simple for beginner users (in the past there's generally been feedback that it's too overwhelming)
  • it should be clear for advanced users that they can customise their kedro project, e.g. by modifying cli.py and logging.yml if they want to

If we don't supply some template (even blank file with comments) logging.yml or cli.py then we need to make it very clear in the documentation that a user can customise their project this way and make it easy for them to copy and paste an example file to do so. Currently we don't emphasise this enough I think.

Another way to achieve this is to keep the default template lean and create a more advanced starter that includes hooks, customised cli.py, etc.

@merelcht merelcht added the Stage: Technical Design 🎨 Ticket needs to undergo technical design before implementation label Sep 6, 2022
@merelcht
Copy link
Member Author

This issue was discussed in Technical Design on 14/12:

The main points raised were:

  • This seems like a nice to have feature, but it's not clear how much demand there is for it.
  • What things would we "template"?
  • Even if we then remove the explanations in the docs, this would add maintenance burden for a feature that's probably only used occasionally by a handful of users.
  • There seems to be a larger issue around the discoverability of docs. We have docs describing how to make a custom CLI and logging etc, but these docs are hard to find.

The general consensus was that kedro template {thing} is a nice to have, but not something we will implement or maintain as core team.

@merelcht merelcht moved this to Done in Kedro Framework Dec 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue: Feature Request New feature or improvement to existing feature Stage: Technical Design 🎨 Ticket needs to undergo technical design before implementation
Projects
Archived in project
Development

No branches or pull requests

3 participants