Replies: 9 comments 2 replies
-
Perhaps to begin with we could just create an absolute minimum template maybe just (to discuss):
Then create further templates that are more "idealised" templates, these might contain all the things it would be great to include in a project repo. Things like:
Then we can encourage people to initially use the minimum template and if they're more interested, incorporate additional elements from the idealised template. @metazool I like the idea of holding to the Turing Way recommendations as a solid justification for what goes into the template(s). |
Beta Was this translation helpful? Give feedback.
-
https://github-pages.arc.ucl.ac.uk/python-tooling/ - I joined the UKRSE Slack community just to ask about common templates in the Has the heavy cookiecutter look to me though https://github.com/UCL-ARC/python-tooling#using-this-template |
Beta Was this translation helpful? Give feedback.
-
It is probably worth looking at this paper (co-written by Sam Harrison in the Modelling team at CEH). https://zenodo.org/records/4761867 I think it needs more levels. |
Beta Was this translation helpful? Give feedback.
-
If we are looking around for CEH prior art, @Kzra pointed me at this very nice R package https://github.com/NERC-CEH/jsdmstan/ - @fseaton doing development work on this |
Beta Was this translation helpful? Give feedback.
-
https://github.com/NERC-CEH/plankton_ml/ - we discussed this in standup when i made a PR for pipeline actions, minimal test harness, etc, but this was an attempt to express my view of minimum-viable. The R project linked above is a nice example of existing research software maturity in the culture |
Beta Was this translation helpful? Give feedback.
-
Spotted this repo from @lewis-chambers that looks very like this discussion (from python POV) - minimal but complete-enough. What would we add just to adopt it, other than a default https://github.com/NERC-CEH/python-template To my eyes the |
Beta Was this translation helpful? Give feedback.
-
I agree with @matthewcoole in that I'd prefer that we started from minimal templates that are based on principles rather than tools, and then added a library of templates for different tool combinations, and things like documentation etc. The most important thing in my mind is that we minimise lengthy and confusing conversations with colleagues about which tools/standards to adopt once a project is underway, so I think having a library of reference templates that we agree a priori are reasonable could be useful. I definitly think it's futile to try to make one template to rule them all for Python projects. |
Beta Was this translation helpful? Give feedback.
-
To throw this into the mix, instead of a template, what about a package to automate parts of this. Users can pick and choose, and some meta functions could call groups of these based on the level (See the paper co written by Sam Harrison) project. Much like usethis in R which has various useful functions and will even setup CI/CD |
Beta Was this translation helpful? Give feedback.
-
Random thought. Along side this, (or instead?) What about starting a review of tools and techniques? I know there are a few out there, but nevwr really felt appropriate to research software, or compared minute differences in aspects not relevant. |
Beta Was this translation helpful? Give feedback.
-
Good suggestion from @matthewcoole and standup discussion about a minimum viable common template to bootstrap new repositories for research collaboration - what's good enough, less than cookiecutter, more than blank slate?
https://book.the-turing-way.org/project-design/project-repo
Beta Was this translation helpful? Give feedback.
All reactions