Skip to content

Latest commit

 

History

History
52 lines (37 loc) · 2.4 KB

README.md

File metadata and controls

52 lines (37 loc) · 2.4 KB

Good Enough Project

A cookiecutter project structure based on the Reproducible Science Cookiecutter template by Mario Krapp, and with close resemblances to the philosophy of Cookiecutter Data Science: A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.

The name (and most of the structure) are derived from the paper Good Enough Practices in Scientific Computing, Wilson et al., PLOS Computational Biology (2017).

Requirements

Install cookiecutter on the command line: pip install cookiecutter

Usage

To start a new science project:

cookiecutter gh:bvreede/good-enough-project

Project Structure

The project structure distinguishes three kinds of folders:

  • read-only (RO): not edited by either code or researcher
  • human-writeable (HW): edited by the researcher only.
  • project-generated (PG): folders generated when running the code; these folders can be deleted or emptied and will be completely reconstituted as the project is run.
.
├── .gitignore
├── CITATION.md
├── LICENSE.md
├── README.md
├── requirements.txt
├── bin                <- Compiled and external code, ignored by git (PG)
│   └── external       <- Any external source code, ignored by git (RO)
├── config             <- Configuration files (HW)
├── data               <- All project data, ignored by git
│   ├── processed      <- The final, canonical data sets for modeling. (PG)
│   ├── raw            <- The original, immutable data dump. (RO)
│   └── temp           <- Intermediate data that has been transformed. (PG)
├── docs               <- Documentation notebook for users (HW)
│   ├── manuscript     <- Manuscript source, e.g., LaTeX, Markdown, etc. (HW)
│   └── reports        <- Other project reports and notebooks (e.g. Jupyter, .Rmd) (HW)
├── results
│   ├── figures        <- Figures for the manuscript or reports (PG)
│   └── output         <- Other output for the manuscript or reports (PG)
└── src                <- Source code for this project (HW)

License

This project is licensed under the terms of the MIT License.