Rock Solid Python with Python Typing Course

Rock Solid Python with Python Typing Course

English | MP4 | AVC 2560×1440 | AAC 44KHz 2ch | 73 Lessons (4h 27m) | 1.73 GB

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.

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
Table of Contents

1 Welcome
2 Python Language Typing Definition
3 What We’ll Cover
4 Goal- Not 100
5 You’ll Need Python 3.10 or Newer
6 git the Repo
7 Meet Your Instructor
8 Spectrum of Type Strictness
9 Running the Source Code
10 Motorcycle Class, Untyped
11 Using the Untyped Motorcycle
12 Duck Typing
13 TypeScript Motorcycles
14 C Motorcycle and Why Types Can Detract from Readability
15 A Very Swift Motorcycle
16 Typed Python Motorcycles
17 Python Typing Introduction
18 Where Do Python Type Hints Come From
19 Typing and Variables
20 Survey of Core Types
21 Nullable Types
22 Unions
23 If You Don’t Know the Type
24 Constants
25 Avoiding Injection Attacks with LiteralString
26 Functions- Basic Typing
27 Functions- void Functions
28 Functions- Functions as Objects
29 Typing for Container Data Types
30 More Complex Containers
31 Classes and Typing
32 Externally Defining Types
33 Adding Our Own Types
34 Representing Multiple Numerical Types
35 Generics Available in Python 3.12
36 Gradual Typing
37 Frameworks Introduciton
38 Pydantic Foundations
39 Pydantic Code Example
40 pip-tools for Adding Requirements
41 Parsing Basic Data with Pydantic
42 Data-Rich Pydantic Example
43 Web frameworks using Type Hints
44 Database Frameworks Built on Pydantic
45 CLIs with Python Types
46 Setting up Our FastAPI Example
47 FastAPI, Beanie, and Pydantic MongoDB Example
48 Setting up the DB to Run the Code Yourself
49 Tools Introduction
50 Editors (Round 2)
51 Full Project Inspection
52 Static Type Checkers
53 mypy in Action
54 Runtime Type Checking with Beartype
55 Getting Started with Beartype
56 Beartype Speed Test
57 Orthogonal-Structural Typing Introduction
58 Inheritance Gone Wrong, an Example
59 Static duck typing with Protocols
60 Structural Typing Visualized
61 Patterns Introduction
62 Types on the Boundary
63 Public Packages
64 Autocomplete
65 To Optional or Not
66 Versions of Python
67 Minimalism Overview
68 Minimalism Code
69 Refactoring Motivation
70 Refactoring with Types
71 Point of No Return
72 Collection Advice
73 Conclusion

Homepage