UCL-ARC / UCL-ARC/python-tooling

A data science cookiecutter

Open
#415 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
62
Forks
10
Avg merge
7d 6h
Merged PRs (30d)
6

Description

Is Your Feature Request Related to a Problem? Please Describe

We recently chatted with @samcunliffe and Niko from SWC (cannot tag him) about a cookiecutter for data science / scientific analysis / exploratory Python projects.

The idea would be to have some lighter requirements than for a fully-fledged Python package. And maybe some data science specific additions (like for example functionality for formatting and checking notebooks). This could be useful for many researchers, and maybe a good entry point to getting into good software practices.

Describe the Solution You'd Like

If we find this could be useful, we could have it:

  • in a separate repo, or
  • as part of this repo, and ask the user in the initial config phase which version they want to instantiate. @samcunliffe mentioned we could maybe use hidden variables for this.

Alternatively, we can just point to a good cookiecutter for this purpose if that already exists.

Describe Alternatives You've Considered

There are some examples of research cookiecutter:

  • this one is very basic (mostly a directory structure) but maybe a good starting point if we decide we want to implement this ourselves.
  • this one seems more recent and quite well documented. It may be a good one to point to if we decide that doing one ourselves is out of scope
Additional Context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the proposed data-science cookiecutter goals and comparing the two linked research cookiecutter examples. The issue names no files, tests, or implementation entry point; the work is done when the project scope and whether to implement or recommend an existing template are decided and documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.