Skip to content

CCDS

A standard folder layout and setup tool for data science projects, generated with one command.drivendataorg/cookiecutter-data-science

Stars
10.1k
Forks
2.6k
Licence
MIT
Language
Python
Last update
1 months ago
Type
Dev tool

What it is

Cookiecutter Data Science (CCDS) is a command-line tool that creates a starter folder structure for a data science project. The layout separates raw and processed data, notebooks, models, reports and source code into predictable places. People use it so that projects are easier to organize, share and hand off to others.

  • Generate a new project folder with data/raw, data/processed, notebooks, models and reports directories already in place
  • Choose project settings during setup and get a matching directory tree
  • Use a specific template version with the -c flag, such as a branch, tag or commit
  • Create a project with a Makefile, pyproject.toml and a docs folder configured for mkdocs

Great for

  • Data scientists starting a new analysis or modeling project who want a consistent layout
  • Teams that want shared conventions for where data, notebooks and models live
  • Students learning how to organize a data science project
  • Anyone who already uses cookiecutter templates and wants a data-science-specific one

Not ideal for

  • People who need a web application or production service scaffold, since the README describes a data science project structure only
  • Users who want the old v1 template by default, because v2 changed the tool and requires the new ccds command; v1 is still available with a flag
  • Anyone who prefers no standard structure, since the template is opinionated about folder names
Step-by-step guide: how to use CCDSInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Python 3.10+ · pipx (recommended)

    Install with pipx (recommended)

    pipx install cookiecutter-data-science

    Install with pip

    pip install cookiecutter-data-science
  2. 2

    Run it

    • Install the package with pipx or pip
    • Run ccds in the folder where you want the new project created
    • Answer the setup prompts
    • Open the generated project folder and look through the directory structure
  3. 3

    Get the most out of it

    • Use ccds -c with a branch, tag or commit to pin a specific template version
    • Read the project homepage for the philosophy behind the layout
    • Follow the naming convention for notebooks described in the README, such as 1.0-initials-description
    • Use the generated Makefile commands like make data or make train as a starting point

Downloads

Strengths

  • Simple, one-command setup with a clearly documented directory layout
  • Install options are clear and it is published on PyPI
  • MIT license and an active test suite noted in the README

Trade-offs

  • The README describes v2 as a breaking change from v1, so older guides may not match the current tool
  • The template is opinionated about folder names and file layout, which some teams may need to adapt
  • The README is truncated here, so detail on every generated file and setting is unclear

How it compares

ProjectStarsTypeLevelUpdatedBest for
cookiecutter-data-science (this)10.1kDev toolbeginner1 months agoData scientists starting a new analysis or modeling project who want a consistent layout
hydra17.6kAppintermediate4 days agoGamers who want one launcher for their game library
fg-data-profiling13.7kLibrarybeginner6 days agoAnalysts who want a quick first look at an unfamiliar dataset
spaCy34kLibraryintermediate10 days agoPython developers building text-processing features into an application
awesome-datascience30.3kCurated listbeginner5 days agoBeginners who want a guided set of links to start learning data science
machine-learning-for-trading21.7kLearning resourceintermediate8 days agoReaders of the Machine Learning for Trading book who want to run its code

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.