Suppose you create a custom Kedro starter for you ...
# questions
m
Suppose you create a custom Kedro starter for you team to quickstart any new project you will work on. What would then be a good process to “push” changes you make to the starter to consumers of that starter? If it’s only Python code, you could create a package out of it. But what if the starter also contains configuration?
d
I don't think there's a good way, beyond documenting how to upgrade.
The reality is, there are no guidelines on how one may modify project generated by Kedro new, and nothing to tie changes back to a root.
n
Are you talking about upgrading an existing project?
For Cookiecutter specifically, it solves the day 0 problem. libraries like
copier
may brings you a bit further. I explore a little bit with LibCST codemod to upgrade existing libraries. I didn't have time to implement anything.
👀 1
Pushing code to existing code is tricky - they are possible for certain limited scope and well known codebase. (like python2 to python3), once you have
m
I’m indeed talking about updating an existing project. Not solving the day 0 problem (that’s usually the easy part).
n
Are the consumer suppose to change that configuration? Otherwise it's perfectly fine to ship configuration in a python package.
m
They are free to change config so shipping a Python package is not an option I’m afraid. But
copier
looks interesting though… Any experiences with that?
👀 1
n
Unfortunately we haven't evaluated it properly
https://github.com/projen/projen is another one I have heard of, again I haven't played with it