Tutorials
Step-by-step series to learn Python from scratch.
Intermediate Python
Regular Expressions in Python
Learn how to use regular expressions in Python with the re module. Cover pattern matching, groups, and practical examples for validating and extracting text.
Working with Dates and Times
Learn how to handle dates and times in Python using the datetime module. Covers datetime, date, time, timedelta, timezones, and practical examples.
Debugging Python with pdb
Learn how to use Python's built-in pdb debugger to find and fix bugs. Covers setting breakpoints, stepping through code, and inspecting variables.
Testing Your Code with pytest
Learn how to write and run tests in Python using the pytest framework. Covers test functions, assertions, fixtures, parametrization, mocking, and best practices
Type Hints and Static Analysis with mypy
Learn how to use type hints and mypy to catch bugs before runtime. This tutorial covers adding type annotations, running mypy, and fixing common type errors.
Concurrency with threading
Learn how to use Python's threading module to run multiple tasks concurrently. Covers creating threads, locks, and when to use threading vs multiprocessing.
Parallelism with multiprocessing
Learn how to use Python's multiprocessing module to run code in parallel using multiple processes, bypassing the GIL for CPU-bound tasks
Async Programming with asyncio
Learn asynchronous programming in Python with asyncio. Master async/await syntax, coroutines, tasks, and run concurrent operations efficiently.
Packaging and Publishing a Python Library
Learn how to package your Python code and publish it to PyPI so others can install it with pip.
Pattern Matching with match/case
Learn how to use Python's match statement for structural pattern matching, covering literals, sequences, classes, mappings, and guards
Python and Data
Making HTTP Requests and Working with APIs
Learn how to make HTTP requests in Python using the requests library, handle responses, and work with REST APIs
Databases and SQLite in Python
Learn how to use SQLite databases in Python with the sqlite3 module. Covers creating databases, tables, and all CRUD operations with practical examples.
CSV Files to Data Analysis
Learn how to read, parse, and analyze CSV files in Python using the csv module and pandas. Covers reading, filtering, sorting, and basic data analysis.
Python Automation
Python DevOps
Running Shell Commands from Python
Learn how to run shell commands from Python using the subprocess module, handle output, manage processes, and avoid common security pitfalls.
SSH Automation with Paramiko
Learn how to automate SSH connections and remote command execution in Python using Paramiko, the pure-Python SSH library.
AWS Automation with Boto3
Learn how to automate AWS services using Boto3, the official AWS SDK for Python. Covers S3, EC2, and common automation patterns.
Python for Finance
Python for Finance: Getting Started
Learn the fundamentals of financial analysis with Python — setting up your environment, working with data, and performing your first stock analysis
Fetching Stock Data with yfinance
Learn how to download and analyze stock market data using Python's yfinance library.
Calculating Returns and Volatility
Learn how to calculate simple and log returns, annualized returns, and volatility measures for stock data analysis using Python
Portfolio Analysis in Python
Learn how to analyze investment portfolios using Python — calculate returns, volatility, Sharpe ratio, and visualize performance
Backtesting a Simple Strategy
Learn how to backtest trading strategies in Python — build a moving average crossover strategy and analyze key performance metrics
Python Fundamentals
Installing Python on Your Computer
Learn how to download and install Python on Windows, macOS, and Linux, verify your installation, and launch the interactive REPL.
Getting Started with Python
Write and run your first Python script, use the interactive REPL, and learn about print(), comments, strings, and numbers.
Python Basics: Variables, Types, and Operators
Understand Python variables, naming conventions, core data types (int, float, str, bool), arithmetic and comparison operators, and f-strings.
Control Flow: if, for, and while in Python
Learn how to make decisions with if/elif/else, iterate with for and while loops, and control loop execution with break and continue.
Writing Functions in Python
Learn how to write functions in Python — the building blocks of reusable code. Master def, parameters, return values, and best practices.
Lists, Tuples, and Dictionaries
Master Python's core data structures—lists, tuples, and dictionaries—and learn when to use each one for effective programming.
Modules and Imports
Learn how to organize your Python code into modules and packages, master the import system, and leverage the powerful standard library.
Classes and Objects
Learn object-oriented programming in Python with classes and objects. Create your own types, define methods, and build reusable components.
Reading and Writing Files in Python
Learn how to read from and write to files in Python using built-in functions and pathlib. Covers text and binary files, context managers, and common patterns.
Handling Errors and Exceptions
Learn how to handle errors and exceptions in Python using try, except, else, and finally. Includes raising exceptions and best practices.
List, Dict, and Set Comprehensions
Learn how to use list, dict, and set comprehensions in Python. Covers basic syntax, filtering, and nested loops.
*args and **kwargs Explained
Learn how to use *args and **kwargs in Python to write flexible functions that accept any number of positional and keyword arguments.
How to Join a List into a String in Python
Learn how to convert a list to a string in Python using str.join() with practical examples for different data types and separators.
String Formatting with f-strings in Python
Learn how to use f-strings to embed variables and expressions inside strings, format numbers with precision, and compare with other formatting methods
Recursion in Python
Learn how to write recursive functions in Python, understand base cases and recursive cases, and see practical examples like factorial and Fibonacci.
Python Output and Reporting
python-automation
Browser Automation with Playwright
Control Chromium, Firefox, and WebKit from Python with Playwright — installation, locators, form filling, assertions, file uploads, and pytest integration.
Email Automation with Python
Learn to send, read, and manage emails programmatically using Python's smtplib, imaplib, and popular third-party libraries.
python-tooling
python-web-development
Flask Basics: Your First Web App
Learn how to build a web app with Flask, from installation to running your first route. Covers templates, forms, and the request-response cycle.
Django Basics: Models, Views, and Templates
Learn Django fundamentals: set up a project, create models, build views, and design templates. A hands-on guide for beginners.
Authentication with FastAPI
Build a secure user authentication system with FastAPI using JWT tokens, password hashing, and dependency injection for protected routes.
Handling Webhooks in Python
Learn to receive, verify, and process webhooks in Python with Flask and FastAPI. Cover signature verification, security best practices, and real-world examples.
Deploying Python Web Apps
Learn how to deploy Python web applications to production servers. Covers hosting options, WSGI servers, reverse proxies, SSL, and deployment automation.
scientific-python
Getting Started with NumPy
Learn the fundamentals of NumPy arrays, creation, and basic operations.
NumPy Array Operations
Master essential NumPy array operations: element-wise operations, broadcasting, aggregations, and array manipulation.
Getting Started with pandas
Learn the fundamentals of pandas DataFrames, data loading, and basic data manipulation for analysis.
Data Cleaning with pandas
Master essential data cleaning techniques in pandas including handling missing values, removing duplicates, string cleaning, and data type conversions.
Plotting Data with Matplotlib
Learn how to create stunning visualizations in Python with Matplotlib, from basic line plots to custom styling.
Scientific Computing with SciPy
Learn how to use SciPy for optimization, interpolation, integration, and statistics.