Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Python Automation Masterclass: Build & Deploy Real Automation Projects
Introduction & Environment Setup
Introduction to the Course (1:33)
Installing Jupyter (1:10)
Installing PyCharm (0:37)
Installing Python (1:18)
Cloning the Course Repo (1:58)
File & Folder Automation
pathlib — the modern way to handle paths (7:36)
Creating, Moving & Deleting Files (4:50)
Walking Directory Trees and Filtering by Pattern (4:48)
Monitoring Folders (4:47)
Zipping & Unzipping Files (1:08)
File & Folder Automation Quiz
Exercise: Smart Downloads Folder Organizer
Solution: Smart Downloads Folder Organizer (10:25)
Excel Documents Automation
openpyxl vs pandas: When to Use Which (5:02)
Reading Excel Files via “openpyxl” (2:35)
Reading Excel Files via “pandas” (1:51)
Writing & Updating Excel Data (2:15)
Formatting Excel (styles, colors, fonts) (1:57)
Formulas, Conditional Formatting, and Freeze Panes (5:37)
Cleaning Messy Real-World Data With pandas (5:49)
Merging Multiple Workbooks Into One (3:29)
Generating Charts Inside Excel From Python (3:52)
Automating Reports (summaries, totals) (2:54)
Exercise: Messy Monthly Sales Report Cleaner
Solution: Messy Monthly Sales Report Cleaner (11:19)
Excel Automation Quiz
PDF Documents Automation
The PDF Landscape: pypdf, pdfplumber, and ReportLab (5:15)
Reading Data from PDFs via PyMuPDF (1:17)
Extracting Tables From PDFs (4:42)
Merging Multiple PDF Files (1:41)
Adding Watermarks and Page Numbers (4:38)
Generating PDF Files (1:43)
Filling PDF Forms Programmatically (4:23)
Exercise: Client Document Pack Builder
Solution: Client Document Pack Builder (11:05)
PDF Documents Automation Quiz
Email Automation
How SMTP and IMAP Actually Work (6:40)
Sending Emails with SMTP (1:15)
Sending Email With Attachments (5:11)
HTML Email Templates That Don't Look Broken (5:03)
Reading Emails with IMAP (2:04)
Downloading Attachments Automatically (6:45)
Filtering, Flagging, and Moving Messages (5:39)
Avoiding the Spam Folder (6:33)
Scheduled Email Reports (0:27)
Exercise: Inbox Attachment Router and Daily Digest
Solution: Inbox Attachment Router and Daily Digest (11:46)
Email Automation Quiz
Web Automation
Is It Legal? robots.txt, Terms, and Rate Limiting (6:26)
Static Pages With requests and BeautifulSoup (5:41)
Selectors: CSS and XPath Without Guesswork (6:11)
Playwright: Modern Browser Control (5:01)
Browser Control with Selenium: When You Still Need It (1:39)
Waiting for Dynamic Content Properly (5:40)
Filling Forms and Clicking Through Flows (5:26)
Logging In and Persisting Sessions (4:55)
Pagination and Multi-Page Scrapes (4:53)
Finding Elements (1:16)
Interacting with Elements (0:40)
Scraping Data from Pages (1:45)
Downloading Files (0:59)
Exercise: Competitor Price and Availability Tracker
Solution: Competitor Price and Availability Tracker (9:39)
Web Automation Quiz
APIs and the Requests Library
HTTP and REST Explained (5:48)
Your First API Call With requests (1:57)
Reading JSON and Navigating Nested Data (2:42)
Query Parameters, Headers, and POST Bodies (2:51)
Authentication: API Keys, Bearer Tokens, and OAuth (4:23)
Storing Secrets in .env (2:11)
Pagination Patterns (3:17)
Exercise: API-to-Excel Operations Monitor
Solution: API-to-Excel Operations Monitor (10:02)
APIs and Requests Quiz
Google Workspace Automation
Google Cloud Project Setup and Enabling APIs (7:46)
Reading and Writing Google Sheets From Python (6:35)
Formatting Sheets and Appending Rows (6:03)
Uploading, Downloading, and Organizing Drive Files (6:38)
Sending and Reading Mail via the Gmail API (6:52)
Creating Calendar Events Programmatically (7:04)
Exercise: New Client Onboarding Workflow
Solution: New Client Onboarding Workflow (12:42)
Google Workspace Automation Quiz
AI-Powered Automation
Why LLMs Change What's Automatable (6:14)
Calling an LLM API From Python (9:04)
Extracting Fields From Messy Invoices and Receipts (6:42)
Turning Unstructured Text Into Spreadsheet Rows (5:43)
Classifying and Routing Incoming Email (5:39)
Summarizing Long Documents Into a Digest (5:35)
Exercise: Customer Support Ticket Classifier
Solution: Customer Support Ticket Classifier (9:53)
AI-Powered Automation Quiz
Desktop and GUI Automation
When GUI Automation Is the Only Option (6:42)
Desktop Automation with PyAutoGUI (0:57)
Window & Application Control (1:23)
Clipboard Automation (7:10)
Exercise: Legacy Application Data-Entry Assistant
Solution: Legacy Application Data-Entry Assistant (9:15)
Desktop and GUI Automation Quiz
Scheduling and Deployment
Windows Task Scheduler (4:10)
Your Script Is Useless if You Run It Manually (5:31)
cron on Mac and Linux (3:59)
Free Scheduled Runs With GitHub Actions (4:23)
Scheduling and Deployment Quiz
Shipping to Non-Technical People
Building a Simple UI With Streamlit (3:16)
Why Your Coworker Can't Run Your .py File (3:27)
Deploying a Streamlit App for Free (4:04)
Packaging a Script as a Standalone EXE (3:59)
Shipping to Non-Technical People Quiz
Project: AI Invoice Processor
What We're Building (2:17)
Setting Up the Project and the Sample Invoice Folder (3:12)
Watching the Folder for New PDFs and Images (3:28)
Extracting Invoice Fields With an LLM (3:35)
Forcing Structured JSON You Can Actually Parse (3:17)
Validating AI Output Before You Trust It (3:32)
Appending Clean Data to a Google Sheet (4:25)
Archiving Processed Files Without Double-Counting (3:22)
Scheduling the Whole Pipeline to Run Itself (2:47)
Project: Client-Ready Deliverable
Project Introduction (1:32)
Splitting Logic From Interface (3:10)
Building the Upload-and-Review Screen (4:04)
Handling Errors Without Showing a Traceback (2:55)
Keeping Secrets Out of a Deployed App (4:21)
Deploying It and Sharing the Link (2:25)
Project: Personal Finance Reporter
Project Folder Structure (1:10)
Reading & Summarizing the Data (1:48)
Generating the PDF Report (1:25)
Emailing the Report to Yourself (1:20)
Integrating Everything Together (1:12)
Testing the Project (0:29)
Bonus: Python Basics
Creating a Jupyter Notebook (0:43)
Indentation in Python (1:09)
Variables (2:41)
Lists (2:52)
Loops (1:47)
Flow Control (2:24)
Python Operators (1:18)
Functions (3:17)
Reading Files (1:22)
Writing to Files (0:52)
Handling User Input (0:44)
Type Conversion (0:46)
Strings (1:12)
Floats (0:21)
Tuples (1:12)
Compiling and Running Python Scripts (0:29)
Project: Todo list (3:52)
Teach online with
Introduction to the Course
Complete and Continue
Lesson Content Locked
Your session expired. Please sign in again to continue.
Login