Python Intermediate
The professional layer on top of Python Essentials: virtual environments and secrets, dates and time zones, CSV data work, real web APIs, testing with pytest, modern Python (dataclasses, enums, pathlib, match), iterator pipelines — and four capstone projects.
Why learn Python Intermediate?
Python Essentials teaches you to write working programs. This track teaches you to write the Python that shows up in real jobs: virtual environments and keeping secrets out of your code, dates and time zones handled correctly, reading and writing CSV data, calling real web APIs, and testing your own code with pytest.
It is 8 modules and 41 lessons, all interactive, and it deliberately picks up the survey-level pip and iterator lessons that close out Python Essentials and turns them into hands-on skill: a dedicated module on packages and environments, a full module on iterators and generator pipelines, and everything in between.
The final module is four complete capstone projects rather than one: a CLI weather tool that calls a real API with proper error handling, an expense tracker that logs to CSV and summarizes spending by category, a file organizer script with a dry-run safety mode, and a quiz game that loads questions from CSV and ships with its own test suite.
Who this course is for
- Python Essentials graduates ready for the professional layer
- Developers who can write a script but have never written a test for one
- Anyone who needs to work with real APIs, CSV files, or time zones in Python
- Self-taught Python developers with gaps in packaging, testing, or modern syntax
What you'll build and practice
- pip, virtual environments, and requirements.txt set up the way professionals do it
- Date and time zone handling that does not silently produce the wrong hour
- A CSV data pipeline: reading, filtering, grouping, and summarizing real tabular data
- A test suite written with pytest, not just manual print statements
- Four capstone projects: a weather CLI, an expense tracker, a file organizer, and a tested quiz game
What you'll learn
Python Intermediate is organized into 8 focused modules. By the end you'll be comfortable with:
- Python Environment & Packages
- Working with Dates & Time
- CSV & Data Files
- APIs & HTTP Requests
- Testing
- Modern Python
- Iterators & Advanced Iteration
- Final Projects
Course curriculum
41 lessons across 8 modules. Lessons marked Free preview are readable without an account.
Module 1. Python Environment & Packages
pip, virtual environments, requirements.txt, and keeping secrets out of your code
- 8mpip & Package ManagementFree preview
Install and manage Python packages with pip.
- 10mVirtual EnvironmentsFree preview
Isolate project dependencies with venv.
- 8mrequirements.txt
Capture and share your project dependencies.
- 10mSecrets & .env Files
Keep API keys and passwords out of your code with environment variables and python-dotenv.
- 12mBuild: Bootstrap a Real Project
Put the whole module together: venv, dependencies, secrets, and project layout from zero.
Module 2. Working with Dates & Time
datetime, timedelta, formatting, and time zones
- 10mThe datetime Module
Work with dates and times using Python's built-in datetime module.
- 10mtimedelta & Date Arithmetic
Calculate durations and add/subtract time.
- 10mFormatting & Parsing Dates
Convert dates to strings with strftime and strings to dates with strptime.
- 12mTime Zones & UTC
Naive vs aware datetimes, UTC, and the golden rule of timestamps.
- 12mBuild: Habit Streak Calculator
Combine parsing, date arithmetic, and comparisons to compute a Duolingo-style streak.
Module 3. CSV & Data Files
Read, write, filter, group, and summarise real tabular data
- 10mReading CSV Files
Read tabular data from CSV files using Python's csv module.
- 8mWriting CSV Files
Write data to CSV files using Python's csv module.
- 10mFiltering & Sorting Data
The read-process-write pattern: filter rows, sort them, and survive messy data.
- 10mGrouping & Aggregating
Totals per category, counts per key — defaultdict and Counter turn rows into answers.
- 14mBuild: Sales Report Generator
Read a messy sales CSV, aggregate per product, and write a clean summary file.
Module 4. APIs & HTTP Requests
How the web talks, and how to talk back with the requests library
- 8mWhat Is an API?
Clients, servers, HTTP, and status codes — the vocabulary of the web, before any code.
- 8mThe requests Library
Make your first HTTP requests with the requests library.
- 12mGET Requests & JSON APIs
Fetch and navigate JSON data, pass query parameters, and send auth headers.
- 10mPOST & Other Methods
Send data to APIs with POST, and meet PUT, PATCH, and DELETE.
- 10mHandling API Failures
Timeouts, connection errors, bad statuses, retries — write API code that survives the real internet.
- 15mBuild: GitHub Repo Explorer
A real CLI tool against a live public API: fetch, rank, and display a user's repositories — robustly.
Module 5. Testing
assert, unittest, pytest — and how to write tests worth having
- 8massert Statements
Use assert to verify assumptions and catch bugs early.
- 12munittest Basics
Write organised test cases using Python's built-in unittest framework.
- 10mpytest Basics
Write and run tests with pytest — the framework the industry actually uses.
- 10mWriting Good Tests
Arrange-Act-Assert, edge cases, and the habits that separate useful suites from decorative ones.
- 14mBuild: Test an Expense Splitter
Write a real pytest suite — happy path, boundaries, error cases, and a bug hunt.
Module 6. Modern Python
dataclasses, enums, pathlib, match statements, and practical type hints
- 10mdataclasses
Create clean data models with @dataclass.
- 10mEnums
Define a fixed set of named constants with Python enums.
- 10mpathlib
Work with file system paths as objects — the modern replacement for path strings.
- 10mThe match Statement
Structural pattern matching — Python 3.10's answer to sprawling if/elif chains.
- 10mType Hints in Practice
Generics, unions, None-handling, and mypy — type hints as a real engineering tool.
- 14mBuild: Task Manager Models
dataclasses + enums + pathlib + match + type hints, composed into one clean data layer.
Module 7. Iterators & Advanced Iteration
The iterator protocol in depth, generator pipelines, and itertools
- 10mThe Iterator Protocol, Revisited
iter(), next(), and the iterable-vs-iterator distinction that explains a whole class of bugs.
- 14mCustom Iterators
Implement __iter__ and __next__ yourself — and learn when a class beats the generators you already know.
- 12mGenerator Pipelines
Chain lazy stages into assembly lines that process gigabytes in constant memory.
- 10mThe itertools Toolbox
count, cycle, chain, zip_longest, pairwise — the standard library's iterator building blocks.
- 14mBuild: Streaming Log Analyzer
A generator pipeline + Counter + itertools, pointed at a server log too big to load.
Module 8. Final Projects
Four real applications that combine everything in the course
- 20mProject: Weather App
Build a command-line weather app on the OpenWeatherMap API — keys, params, JSON, and robust errors.
- 20mProject: Expense Tracker
A CLI expense tracker with a dataclass model, CSV persistence, and grouped summaries.
- 18mProject: File Organizer
Tame a messy Downloads folder — pathlib, an Enum category map, dry-run safety, and collision handling.
- 20mProject: Quiz App
An interactive quiz game from a CSV question bank — plus a persistent high-score file and a pytest suite.
Frequently asked questions
- How is Python Intermediate different from Python Essentials?
- Essentials ends with a survey of pip, virtual environments, and the standard library, enough to recognize the tools by name. This track is where those surveys become muscle memory: real packaging, real date and time zone handling, real API calls, and real tests, practiced hands-on across 41 lessons.
- Does this course teach me to write tests, or just to use libraries that have them?
- It teaches you to write your own. A full module covers assert, unittest, and pytest, building toward the kind of tests worth having rather than tests that just exist. The final capstone, a quiz game, ships with a real test suite you write yourself.
- What are the four capstone projects at the end?
- A CLI weather tool using a real API key and .env secrets, an expense tracker that logs to CSV and summarizes by category, a file organizer script with a dry-run mode so it is safe before it is clever, and a quiz game that loads questions from CSV and gets its own test suite.
- Does the course cover modern Python features like dataclasses and match statements?
- Yes, in the Modern Python module: dataclasses, enums, pathlib, match statements, and practical type hints. It focuses on the modern syntax you will actually see in current codebases, not historical trivia.
- Do I need to already know how to work with APIs before this course?
- No. The APIs & HTTP Requests module starts from how the web talks and builds up to using the requests library for real calls, culminating in the weather CLI capstone. No prior API experience is assumed.
Ready to start Python Intermediate?
Create a free account to track progress, earn XP, and get instant help from the AI tutor as you code.
Create your free account