Rock Solid Python with Python Typing Course

Rock Solid Python with Python Typing
This course is carbon neutral.

Course Summary

When Python was originally invented way back in 1989, it was a truly dynamic and typeless programming language. But that all changed in Python 3.5 when type "hints" were added to the language. Over time, amazing frameworks took that idea and ran with it. They build powerful and type safe(er) frameworks. Some of these include Pydantic, FastAPI, Beanie, SQLModel, and many many more. In this course, you'll learn the ins-and-outs of Python typing in the language, explore some popular frameworks using types, and get some excellent advice and guidance for using types in your applications and libraries.

What students are saying

Thanks for your podcasts and courses. It’s all been very helpful. Just wanted to let you know that I got a job with a startup. Looking forward to working with Python and even doing some ML. Very exciting stuff. Keep up the great work!
-- Pat

Source code and course GitHub repository

github.com/talkpython/rock-solid-python-with-type-hints-course

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

This course dives deep into Python types. You will see many examples and graphics communicating the motivation for types and where they fit into the Python ecosystem. But you will also get very hands-on and learn all of these ideas with deep yet approachable code demos.

What topics are covered

In this course, you will:

  • Compare popular static languages with Python (such as Swift, C#, TypeScript, and others)
  • See a exact clone of a dynamic Python codebase along side the typed version
  • Learn how and when to create typed variables
  • Understand Python's strict nullability in its type system
  • Specify constant (unchangeable) variables and values
  • Reduce SQL injection attacks with LiteralString
  • Uses typing with Python functions and methods
  • Use typing with classes and class variables
  • Work with multiple numerical types with Python's numerical type ladder
  • Use Pydantic to model and parse complex data in a type strict manner
  • Create an API with FastAPI that exchanges data with type integrity
  • Query databases with Pydantic using the Beanie ODM
  • Create CLI apps using type information to define the CLI interface
  • Leverage mypy for verifying the integrity of your entire codebase in CI/CD
  • Add runtime type safety to your application
  • Marry duck typing and static typing with Python's new Protocol construct
  • Learn design patterns and guidance for using types in Python code
  • And lots more, see the full course outline.

Who is this course for?

This course is for anyone who knows basic Python and wants to take full advantage of Python type hints and related frameworks within their code. If you find you're not sure when or how to use Python type hints or feel that you could be leveraging them more, then this course is for you!

We do assume that you know core Python syntax and concepts such as virtual environments and external packages. If you are entirely new to Python, see our Python for Beginners course.

Concepts backed by concise visuals

While exploring a topic interactively with demos and live code is very engaging, it can mean losing 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 animated graphic we used while discussing the familiar yet very unique role that Protocol plays in Python's object-oriented programming constructs.

Example: Concepts backed by concise visuals

Get hands-on with almost every chapter

Learning a new language features and concepts is an interactive experience. That's why it's important to write code and explore the apps we are building during this course.

Every chapter that involves writing or reading code has a starter and finished code snapshot. We strongly encourage you to take the starter code from each chapter and build out the features you see created during the course for each chapter after you complete it.

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 Michael Kennedy?

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.

The time to act is now

If this course is a good fit for you and your goals, you should jump right in. It goes deep but doesn't skip out too much the foundation background info. You'll start to see benefits for your code right away. And it comes with a 100% money back guarantee (see details), so it's 100% risk free as well.

Course Outline: Chapters and Lectures

12:14
1:34
2:41
2:42
1:11
1:07
1:22
1:37
42:24
6:36
3:26
5:35
2:21
3:03
4:40
5:01
4:04
7:38
1:21:41
0:33
1:14
3:23
3:05
5:22
3:11
2:03
3:37
6:02
5:12
2:43
5:33
7:21
8:28
6:26
4:26
3:56
4:12
1:44
3:10
43:27
0:46
2:24
1:00
3:16
8:57
6:03
4:57
3:40
2:08
3:43
4:26
2:07
31:43
0:41
2:26
6:11
1:32
5:14
1:55
6:43
7:01
16:59
1:06
6:10
8:24
1:19
33:32
1:11
2:05
1:30
1:10
3:10
4:18
4:11
1:45
1:30
2:37
7:39
2:26
5:05
5:05
Buy for $49 + tax Bundle and save 84% Team Gift

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

Talk Python's Mastodon Michael Kennedy's Mastodon