Using and Mastering Cookiecutter Transcripts
Chapter: Welcome to the course
Lecture: The Cookiecutter philosophy
Login or
purchase this course
to watch this video and the rest of the course contents.
0:01
Before we start working with Cookiecutter, let's talk about its philosophy,
0:06
I think you'll appreciate the design and the thought that went into this tool, first, its command line interface focused.
0:14
So it provides a command line utility for creating project from Cookiecutters, it's extremely easy to use and get started with,
0:20
and you won't have to think too hard about the default behavior of it. But it is flexible for more complex use cases, via optional arguments.
0:28
It's API accessible. It's entirely function based and stateless, and it's usable in pieces for developers of other template generation tools,
0:38
so if you understand Cookiecutter, you can build tools that create projects yourself that somehow leverage Cookiecutter itself
0:45
so you don't have to do that sort of core file directory text management. It's Jinja2 specific, so if you are familiar with Jinja2 already,
0:54
then you'll be able to work with it and the parts of Jinja2 that you use are honestly quite simple so even if you don't know Jinja2
1:02
it's still pretty easy to get started with. Cookiecutter is extensible, you can give it Jinja2 based extensions
1:10
as well as integrated with other Jinja2 based project template tools, it's open source, you have the freedom for Cookiecutter users
1:17
to build and extend, there is no officially maintained Cookiecutter templates, there is not like a packaging authority for Cookiecutetrs,
1:25
you just put them up there on the internet as some accessible thing like a GitHub repository and Cookiecutter can directly access and use those.
1:33
And Cookiecutter itself is friendly to commercial projects, it has licensing that allows for private Cookiecutters
1:39
and even private Cookiecutter based tools. So feel free to use this in your commercial application.
1:45
Finally, it's fast and focused, it's meant to just do one thing, take a template and transform it into a ready to run project.
1:52
And you can generate these projects from the command line or from the API and that's it, and it's ultra fast,
1:59
so if you want to leverage this in some kind of high performance or performance critical tooling,
2:05
you should be fine with Cookiecutter, it's not slow at all. If you want to learn more about this,
2:11
just check out the core committer guide here at this url.