/cookiecutter-data-snake

Reproducible data science template using Python, snakemake, mamba and more :snake:

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

pre-commit.ci status tests GitHub license

Cookiecutter Data Snake

A reproducible data science template using a bunch of snakes 🐍, i.e., Python, snakemake, mamba, and more.

skeptical snake

This cookiecutter is based on cookiecutter-data-science, with the following main differences:

  • snakemake to orchestrate the data analysis workflow instead of GNU Make (recommended in cookiecutter-data-science). The advantages of snakemake are its more Pythonic syntax as well as the availability of a dedicated code formatter, i.e., snakefmt (see pre-commit item below).
  • mamba as a package manager, which provides a CLI that is almost identical to conda but (much) faster.
  • pre-commit to manage multi-language pre-commit hooks, including: ruff to format and lint Python files (.py), nbstripout and nbQA to format and lint Jupyter Notebooks (.ipynb); snakefmt to format Snakefiles and more.

Requirements to use the cookiecutter template:

To start a new project, run:

$ cookiecutter gh:martibosch/cookiecutter-data-snake

fill the required parameters and then follow the instructions in the generated README.md file.

Acknowledgments