Skip to content
New this month 24 fresh C++, C#, F#, JavaScript, TypeScript and Lua courses just landed. Browse new releases Use code WELCOME10 for 10% off your first order · 14-day refund

Python Intermediate: Type Hints, Dataclasses and Async

Write Python that scales past a single script and survives contact with a team.

Rated 4.0 out of 5 from 2 reviews 18 students

SN Created by Sofia Navarro

  • Last updated August 2026
  • English
  • 5h 26m of material
  • 41 lessons

What you will learn

8 concrete outcomes

Every bullet below is something you will have built, shipped or be able to explain by the time you finish the last lesson.

  • Annotate real code with modern type hints and run mypy in strict mode successfully
  • Use Protocols, TypeVar and Generic to write reusable, well-typed abstractions
  • Model data with dataclasses and validate boundaries with Pydantic models
  • Explain the asyncio event loop, coroutines and tasks with an accurate mental model
  • Compose async work with gather, timeouts, cancellation and async context managers
  • Offload blocking work to thread and process pools without blocking the loop
  • Test properly with pytest fixtures, parameterisation and useful assertions
  • Structure a project with pyproject.toml and manage dependencies reproducibly

Course curriculum

6 modules · 41 lessons · 5h 26m of material

9 lessons running 1h 12m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

7 lessons running 56m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

8 lessons running 1h 02m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

9 lessons running 1h 10m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

5 lessons running 40m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

3 lessons running 26m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.

Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.

6 modules · 41 lessons

5h 26m total length

Requirements

Short list, and deliberately so. If you meet these you can start today.

  • Comfortable writing Python functions, classes and modules
  • Python 3.11 or newer with a virtual environment workflow you already use
  • Some experience with a project larger than a single file

About this course

The gap between scripting in Python and engineering in Python is mostly about structure and intent. This course covers the tools that close it: a type system that catches real mistakes, data modelling that removes boilerplate, and a concurrency model you can reason about.

Type hints are treated seriously. You will annotate functions and containers, use Optional and unions with the modern syntax, define Protocols for structural typing, use TypeVar and Generic for reusable code, and run mypy in strict mode against a real codebase, fixing what it finds. Dataclasses and Pydantic models follow, with a clear account of when each fits and how validation at the boundary simplifies everything inside it.

The async modules build a correct mental model of the event loop, coroutines and tasks, then cover gather, timeouts, cancellation, async context managers and iterators, and running blocking work in a thread or process pool without stalling the loop. The final modules cover pytest with fixtures and parameterisation, project layout with pyproject.toml, dependency management with uv, and profiling with cProfile to make optimisation evidence-driven.

Frequently asked questions

Still unsure about something? Write to misteryjj100@gmail.com and a human answers, usually the same working day.

In anything a second person will touch, yes. The course shows mypy finding genuine bugs in an untyped project rather than arguing the point abstractly.

A whole lesson answers this with measurements. In short, asyncio for many concurrent I/O waits, threads for blocking libraries, processes for CPU-bound work.

No, the material is framework-independent. The FastAPI course applies these same techniques to a web service.

Checkout is handled on our provider's secure payment page. The moment your payment clears we email your personal access link and access code to the address you used at checkout, and the same link appears in your account library. There is nothing to install and nothing to wait for.

Email misteryjj100@gmail.com within 14 days of your purchase, quote your order number, and we refund the full amount to your original payment method. No form to fill in and no questions about how much of the course you watched.

What students say

Reviews are written by people who bought this course. We publish the critical ones too.

4.0

Rated 4.0 out of 5

Course rating · 2 reviews

Rating distribution

  • 5 stars 50%
  • 4 stars 0%
  • 3 stars 50%
  • 2 stars 0%
  • 1 star 0%
  • BY

    Bilal Yıldız

    Python developer

    Feb 2026
    Rated 5.0 out of 5

    Protocols changed how I structure things

    Structural typing in Python was a total blind spot for me. Seeing Protocol used to decouple a service from its dependencies without an abstract base class anywhere in sight made half my inheritance hierarchies look faintly ridiculous.
  • RN

    Ruth Nakamura

    Backend engineer

    Sep 2025
    Rated 3.0 out of 5

    The async section assumes too much

    Typing and dataclasses are clearly where the author is strongest and those chapters are very good. Then asyncio goes from here is a coroutine to task groups and cancellation scopes inside about twenty minutes, while the stated prerequisite is only that you know Python. I had used asyncio before and still had to slow it right down. Somebody meeting async for the first time will not get through it.

Your instructor

SN

Sofia Navarro

Python and data engineer

  • 231 students taught
  • 11 courses published
  • 4.5 instructor rating
  • Python
  • SQL
  • PostgreSQL
  • Data engineering

Sofia builds the pipelines that keep analytics teams honest, mostly Python on top of PostgreSQL under uncomfortable load. She teaches schema design, indexing and query planning against anonymised production datasets rather than toy tables, then wires the same data into pandas so the SQL and the Python halves stop being separate skills. Expect to spend real time reading execution plans and rather less time reading slides. She consults on migrations for teams that cannot afford downtime.

$34 USD

One-time payment · lifetime access

The WisdomCharms dispatch

One useful email a week. No fluff, no spam.

New course releases, discount codes before anyone else, and a short, practical breakdown of one technique — a prompt pattern, a C++ idiom, a TypeScript trick — that you can use the same day.

  • Subscriber-only launch pricing
  • Unsubscribe in one click
  • We never sell your address

By subscribing you agree to our Privacy Policy. Questions? Write to misteryjj100@gmail.com.