Modern Python Projects Course

This course is carbon neutral.

Course Summary

There's a long way from writing your first print("hello world") to shipping a Python application. Installing new packages without breaking others, choosing the best tools that will still be maintained in a few years, figuring out what's the "Pythonic" code that everyone keeps talking about, moving files around to avoid import errors, writing tests even when you don't have time, or making sure that your documentation is up to date - those are some of the struggles that you might encounter.

This course helps you solve those problems. It takes you through all the steps of a typical Python project - from setting up a good project structure, managing dependencies, adding tests, writing documentation, setting up continuous integration, and finally - deploying it.

What students are saying

Modern Python Projects has and continues to provide valuable insight, that has aided my development workflow and given me knowledge of tools that I otherwise wouldn't. I heartily recommend this course to all practitioners of Python.
-- Umar

Source code and course GitHub repository

github.com/talkpython/modern-python-projects-course

What's this course about and how is it different?

This course explains how to improve your code with various static analysis tools. It gives you the tools for installing new packages or updating the Python version without messing it up. It shows you how to build popular types of Python projects like a CLI application or Python package. It even helps you configure the VS Code editor for the best experience when coding in Python!

What topics are covered

This course covers everything you need to know to develop, run, and deploy full web apps on top of FastAPI. Just some of the topics include:

  • VS Code + Python: A current and growing Python code editor
  • Manage Python and packages in the real world
  • Create a Python project with cookiecutter templates
  • Managing project dependencies with tools like pip, pip-tools, poetry, and more
  • See what "good" Python code should look like
  • Test your Python code with pytest
  • Documenting your code with Sphinx
  • Perform some automatic checks on your code with continuous integration
  • How to build a CLI application that you can run in your terminal
  • Create a Python module/library that can be published on PyPI
  • Make a standalone executable application that you can send to someone without Python dependencies
  • Deploying your application to a Platform as a Service tool called Heroku
  • Create a simple Docker image and deploy it to one of the popular PaaS providers
  • And much more

See the full course outline for details.

Who is this course for?

This course is for everyone who knows Python's basics but still struggles with using it in everyday work. It's great for beginners, but even experienced programmers can learn something new. It doesn't matter if you are a Windows, Linux, or macOS user - the course points out the differences between the operating systems so that you can follow along. It's perfect for programmers, data scientists, machine teachers (is that how machine learning specialists are called?) - basically anyone who uses Python.

This course is delivered in very high resolution

Example of 1440p high res video

This course is delivered in 1440p (4x the pixels as 720p). When you're watching the videos for this course, it will feel like you're sitting next to the instructor looking at their screen.

Every little detail, menu item, and icon is clear and crisp. Watch the introductory video at the top of this page to see an example.

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.

Each course has subtitles available in the video player.

Who am I? Why should you take my course?

Who is Sebastian Witowski?

Hi, I'm Sebastian Witowski, and I'm a Python consultant, freelancer, and trainer. You might know me from one of my talks at various conferences.

I teach people how to write code in Python, but I also build projects for companies ranging from small startups to Fortune 500 businesses. While working on different projects, I've noticed a recurring pattern - they are either over-engineered or oversimplified. They involve too many "shiny new toys" and you end up spending way too much time just keeping them up to date and replacing the unsupported ones. Or they use outdated tools or no tools at all (bash scripts everywhere). None of these scenarios is good, so I created this course to show you how to build a Python project based on well-established tools and best practices.

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.

The time to act is now

Are you tired of fumbling around wondering whether your project is really following Python best practices? Would you like to incorporate more of the professional Python developers' tool chain into your workflow? Maybe you just need a little help making sense of all the options out there. Then take the Modern Python Projects and get a seasoned pro's perspective on how to build Python applications in 2021.

Course Outline: Chapters and Lectures

10:03
1:29
6:25
0:42
0:44
0:43
1:43
0:46
0:32
0:25
49:18
4:35
0:24
5:55
2:53
10:47
3:08
3:55
4:52
4:27
8:22
58:40
1:39
1:10
3:20
0:58
5:18
3:47
1:41
2:39
0:45
5:19
1:27
2:13
1:28
2:27
10:04
2:53
5:11
2:33
3:48
18:24
3:33
0:36
8:00
1:18
2:23
2:34
43:02
0:34
3:27
2:34
2:57
1:39
1:45
5:51
0:32
3:16
1:15
1:02
4:12
1:10
0:59
4:47
1:27
3:33
2:02
39:36
1:43
2:00
4:21
2:09
6:59
3:10
5:20
2:04
2:56
3:08
1:15
2:39
0:53
0:59
39:27
0:41
4:57
3:50
6:57
2:16
2:16
1:17
3:38
3:14
1:21
1:42
3:27
1:49
2:02
23:54
0:42
1:43
3:02
2:01
2:02
2:03
4:09
0:43
2:41
0:57
1:16
2:35
50:44
0:36
2:30
0:29
6:59
3:50
5:34
1:30
3:02
10:14
0:40
0:36
11:29
3:15
44:21
0:37
0:40
2:28
2:04
13:35
3:44
11:06
7:00
3:07
39:38
0:40
0:39
2:36
5:14
6:00
2:24
3:49
6:34
8:58
1:35
1:09
31:38
2:23
6:13
0:57
7:13
1:35
9:08
1:32
1:16
1:21
54:52
1:27
1:14
0:58
1:23
3:20
7:35
8:23
1:42
4:00
5:05
3:02
3:53
3:27
6:39
2:44
17:57
0:20
1:03
1:01
0:36
0:58
1:19
0:56
1:08
0:39
1:59
0:46
1:04
2:18
0:29
0:55
0:38
1:26
0:22
Buy for $89 + tax Bundle and save 84% Team Gift

Questions? Send us an email: contact@talkpython.fm

Talk Python's Mastodon Michael Kennedy's Mastodon