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

Remove cookiecutter, change to minimal spec #146

Open
timmens opened this issue Feb 14, 2024 · 3 comments
Open

Remove cookiecutter, change to minimal spec #146

timmens opened this issue Feb 14, 2024 · 3 comments

Comments

@timmens
Copy link
Member

timmens commented Feb 14, 2024

Janos and I thought about the future of the econ-project-templates given the experience of the 2023 EPP iteration:

Problems

  • Students do not understand cookiecutter dialogue
  • Students do not understand the "concept cookiecutter" (e.g., students don't grasp the
    difference between project and cookiecutter)
  • Connecting the downloaded project to GitHub often fails (especially if the remote is not
    empty) and is perceived as very complicated even if it works (e.g., clone link vs URL)
  • Example project is out of date, especially data management (should be done by Hans-Martin and
    Tim)
  • When cookiecutter fails, or you want to edit previous input, it is very annoying to
    start over (fails, for example when the folder already exists, the environment already exists)
    • There is the replay option, but it is unknown, and does not seem to work perfectly

Observations

  • Cookiecutter replaces something students like to do: copying files and adjusting names
    with something they do not understand and do not like to do
  • Students are usually not informed enough to make decisions about e.g. licenses, make
    initial commit, which types of pre-commits, creating the environment or not. It seems
    like fewer choices would make students feel better while doing the setup.
  • The Julia, Stata and R examples are not used and they are another part of the code
    base that needs to be kept up-to-date (we could just reference the pytask
    documentation)

Solution Ideas

  • Replace cookiecutter dialogue by minimal form:
    • project slug (-> rename to project name)
    • author name
    • author email
  • Form checks inputs in real-time, after filling it out, there appears a download button
  • Reference to videos like "how to create environment" appears
  • Workflow:
    • Students create repo on github
    • Students clone empty repo
    • Students download files from example project into empty repo
    • Students push added project to remote

Additional (Potential) Developer Benefits

  • Removing the example projects for other programming languages makes it easier to
    maintain
  • Removing cookiecutter complexity makes it easier to test and maintain the example
    project
@hmgaudecker
Copy link
Member

As discussed off-line, this generally sounds like a good plan. Thanks for bringing it up!

Let's tackle it at some point this year.

Probably this should be converted into a template repo then. And we could have a simple Python script as part of the repo, which does the adjustments like

  • project slug (-> rename to project name)
  • author name
  • author email

and after being run, removes itself.

@hmgaudecker hmgaudecker changed the title Feedback from EPP 2023 Remove cookiecutter Feb 19, 2024
@hmgaudecker hmgaudecker changed the title Remove cookiecutter Remove cookiecutter, change to minimal spec Feb 19, 2024
@hmgaudecker
Copy link
Member

Should tackle #138 as part of this.

@hmgaudecker
Copy link
Member

In the process, we should make sure that all relevant bits of the data and code standard of journals are covered.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants