Cookiecutter: Creating Projects and Templates Course
Course Summary
What students are saying
Source code and course GitHub repository
github.com/mikeckennedy/cookiecutter-courseWhat's this course about and how is it different?
The goal of this online video course goes beyond simply using Cookiecutter. While we do cover that in-depth, the focus is on creating powerful and professional Cookiecutter templates, integrating Cookiecutter into your Python applications via its API, and even developing and extending Cookiecutter itself.
This course is a careful balance of live demos, interactive coding, and core concept review. After this course, you'll understand and be capable of wielding the full power of Cookiecutter.
- View the full course outline.
Who is this course for?
This course is targeted at three use-cases of Cookiecutter. It's for those who:
- Use Cookiecutter templates to create their own projects
- Author templates for their own projects or teams within larger companies
- Developers wishing to extend and integrate Cookiecutter functionality into their own Python applications
Note that Python experience is mostly optional.
For most chapters of this course, you will not need to know Python, although the more you know the better. Even creating templates can be done with essentially no Python experience.
However, if you want to extend Cookiecutter or use the Cookiecutter API, then you'll need to be familiar with Python.
What will you learn in this course?
The course is built from three major sections.
- Cookiecutter users
- Cookiecutter for project leads
- Cookiecutter for contributors
Here are some of the detailed topics addressed in each section.
Cookiecutter users section
- Prerequisites and setup
- Installing Cookiecutter
- Learning the CLI
- Surveying the pantry
- Local vs remote templates
- Profile defaults
- Virtual environments
- Replaying creation
Cookiecutter for project leads section
- Creating templates for your project & for your company
- Creation basics
- Project structure and naming
- Prompting the user
- Complex default values
- Choice prompts
- pre- post-generation hooks
- Excluding files from transforms
- Conditional files and directories
- Case study (project templates)
- Adding your template to the cookie pantry
- Programmatic Cookiecutter
Cookiecutter for contributors
- Building Cookiecutter locally
- Contributor guidelines
- Adding a feature to Cookiecutter
View the full course outline.
Concepts backed by concise visuals
While exploring a topic interactively with demos and live code is very engaging, it can lose the forest for the trees. That's why when we hit a new topic, we stop and discuss it with concise and clear visuals.
Here's an example for when we first introduce the benefits of Cookiecutter.
Follow along with subtitles and transcripts
Each course comes with subtitles and full transcripts. The transcripts are available as a separate searchable page for each lecture. They also are available in course-wide search results to help you find just the right lecture.
Who am I? Why should you take my course?
My name is Michael, nice to meet you. ;) There are a couple of reasons I'm especially qualified to teach you Python.
1. I'm the host of the #1 podcast on Python called Talk Python To Me. Over there, I've interviewed many of the leaders and creators in the Python community. I bring that perspective to all the courses I create.
2. I've been a professional software trainer for over 10 years. I have taught literally thousands of professional developers in hundreds of courses throughout the world.
3. Students have loved my courses. Here are just a few quotes from past students of mine.
"Michael is super knowledgeable, loves his craft, and he conveys it all well. I would highly recommend his training class anytime." - Robert F.
"Michael is simply an outstanding instructor." - Kevin R.
"Michael was an encyclopedia for the deep inner workings of Python. Very impressive." - Neal L.
Free office hours keep you from getting stuck
One of the challenges of self-paced online learning is getting stuck. It can be hard to get the help you need to get unstuck.
That's why at Talk Python Training, we offer live, online office hours. You drop in and join a group of fellow students to chat about your course progress and see solutions via screen sharing.
Just visit your account page to see the upcoming office hour schedule.
Is this course based on Python 3 or Python 2?
This course is based upon Python 3. Python 2 is officially unsupported as of January 1st, 2020 and we believe that it would be ill-advised to teach or learn Python 2. This course is, and has always been, built around Python 3.
The time to act is now
Learn why people are so excited about Cookiecutter and take your projects to the next level by creating your own Cookiecutter templates.