Cookiecutter Data Snake

March 28, 2026 ยท View on GitHub

pre-commit.ci status tests GitHub license

Cookiecutter Data Snake

A reproducible data science template using a bunch of snakes :snake:, i.e., Python, snakemake, pixi (a project-centric conda/mamba package manager), 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).
  • pixi as the project and package manager for reproducible environments and task execution.
  • pre-commit to manage multi-language pre-commit hooks, including: ruff to format and lint Python files (.py) and Jupyter Notebooks (.ipynb), nbstripout to manage notebook outputs, and 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