This is a comprehensive Cookiecutter template for generating production-ready Python projects. It is not a running application itself but a project generator that produces applications, libraries, or services based on user-selected features. The template includes sophisticated post-generation hooks that surgically remove unused files and configure dependencies, Docker Compose services, CI/CD workflows, and documentation based on the chosen options. It enforces modern Python practices: uv for package management, Ruff for linting/formatting, mypy for type checking, pytest for testing, and Pydantic Settings for configuration. The generated projects can include FastAPI, Celery, SQLAlchemy, QuasiQueue, aiocache, Jinja2, Typer CLI, Docker, and GitHub Actions. The template itself demonstrates high craftsmanship with clean Jinja2 templating, conditional logic, and a well-organized file structure. It is actively maintained and uses current tooling (uv, Ruff, etc.), indicating low technical drift.
Cookiecutter Data Science (CCDS) is a CLI tool that generates standardized, opinionated project scaffolds for data science work. It wraps the cookiecutter templating engine with custom prompting logic that supports nested configuration choices (e.g., cloud storage options with sub-fields for bucket names), and post-generation hooks that dynamically write dependency files in multiple formats (requirements.txt, pyproject.toml, environment.yml, Pipfile, pixi.toml), configure linting/formatting tools (ruff or flake8+black+isort), set up testing frameworks (pytest/unittest), and scaffold code modules with boilerplate for data processing, feature engineering, modeling, and visualization. The tool is designed to be run via the `ccds` command, which defaults to the DrivenData template repository and the installed version of the template. The codebase demonstrates solid software engineering: it monkey-patches cookiecutter's internals in a controlled way to add functionality (prompting with sub-options, custom context file selection), provides a suite of reusable hook utilities for dependency management and custom config injection, and maintains extensive test coverage across multiple operating systems and environment managers (conda, virtualenv, pipenv, uv, pixi, poetry). The architecture is a thin CLI application that delegates to cookiecutter while extending it through monkey-patching and post-generation hooks. It is not a data research project itself but a tool for creating such projects.