Python 3.15: What's New

Python 3.15's key changes — lazy imports, a new profiling package, JIT speedups, and the other PEPs worth knowing about ahead of the October release

FeaturedPython 3.15Release Notes

What Is MCP (Model Context Protocol)? A Python Guide

What the Model Context Protocol actually standardizes, how it differs from LangChain or DSPy, and a basic FastMCP server example

FeaturedAIMCP

Black vs Ruff vs autopep8 vs yapf: Python Formatters Compared

How Black, Ruff, autopep8, and yapf differ as Python code formatters, and which one to pick for a new or existing project

ToolingComparison

Common Python Packages Every Developer Should Know

A short, practical list of Python packages you'll reach for constantly — what each one does and why it's the default choice

PackagesBeginners

DSPy Explained: Programming, Not Prompting, Language Models

What DSPy is, how it differs from hand-writing prompts, and a basic example of defining a module and letting DSPy optimize it

AILLM

FastAPI and HTMX: Building Interactive UIs Without a JS Framework

How FastAPI and HTMX pair together to build dynamic, interactive web apps using server-rendered HTML instead of a JavaScript frontend framework

Web FrameworksHTMX

Poetry vs uv vs Hatch: Which Python Packaging Tool in 2026

A head-to-head comparison of Poetry, uv, and Hatch — speed, lockfile behavior, and PEP 621 compliance, for picking a new project's tooling

PackagingComparison

pytest vs unittest: Choosing a Python Testing Framework

How pytest and Python's built-in unittest module differ, and why most teams choose pytest despite unittest requiring no installation

TestingComparison

Python Decorators Explained: What They Are and When to Write One

How Python decorators actually work under the hood, with the built-in decorators you already use and a guide to writing your own

Language FeaturesExplainer

Python Resources for Beginners: Where to Start in 2026

The core set of resources worth starting with when you're new to Python — courses, books, and tools, without the overwhelming full directory

FeaturedBeginnersGetting Started

The Python Standard Library: Built-In Modules Worth Knowing

The standard library modules you'll actually reach for regularly — no pip install required, already in every Python installation

Standard LibraryBeginners

Python Virtual Environments Explained: venv vs uv vs conda

What a Python virtual environment actually is, why every project needs one, and how venv, uv, and conda differ in creating them

PackagingExplainer

requirements.txt vs pyproject.toml: What's the Difference

Why Python packaging moved from requirements.txt to pyproject.toml, what each actually does, and whether you still need a requirements.txt file

PackagingExplainer

Streamlit Explained: Turning Python Scripts Into Web Apps

What Streamlit actually does, a basic example, and when to reach for it instead of Flask or FastAPI

Data ScienceExplainer

What Does Black Do? Python's Code Formatter Explained

How Black formats Python code, why it's deliberately unconfigurable, and how it differs from autopep8 and yapf

ToolingExplainer

What Is Uvicorn? The ASGI Server Behind FastAPI, Explained

What Uvicorn actually does, how it relates to FastAPI and Starlette, and when you'd reach for it instead of Gunicorn

Web FrameworksExplainer

The Best Python Books for Beginners in 2026

Which Python books are actually worth reading as a beginner, and the order to read them in

BooksBeginners

The Best Python IDEs and Editors in 2026

A practical comparison of the top Python IDEs and editors — what each one is best at, and how to choose

ToolsIDE

Best Python Learning Resources in 2026

A curated shortlist of the best free and paid resources for learning Python in 2026, organised by skill level and learning style

FeaturedBeginnersRoundup

The Best Python Testing Tools, Compared

pytest, unittest, and the surrounding testing ecosystem — what each tool does and when you actually need it

TestingComparison

The Best Python YouTube Channels in 2026

Which Python YouTube channels are actually worth subscribing to, organised by what you're trying to learn

YouTubeVideo

Django vs FastAPI vs Flask: Choosing a Python Web Framework

A practical comparison of Django, FastAPI, and Flask — what each is actually good at, and how to pick the right one for your project

FeaturedComparisonWeb Frameworks

FastAPI vs Robyn vs Flask: Which Should You Choose?

A practical comparison of FastAPI, Robyn, and Flask — performance, ecosystem maturity, and which one actually fits your project

ComparisonWeb Frameworks

How to Write Clean Python Code: A Practical Guide

Concrete, non-obvious rules for writing clean, readable Python — naming, structure, and the habits that actually matter

Best PracticesClean Code

The Most Popular Python Packages in 2026 (and What They Do)

A plain-English breakdown of the Python packages with the highest download counts, and why they're downloaded so much

FeaturedPackagesRoundup

Python Async/Await Explained (Without the Jargon)

A plain-English explanation of Python's async/await, when it actually helps, and the mistakes that make it worse than sync code

AsyncConcurrency

The Python Learning Roadmap for 2026

A step-by-step path from zero to job-ready Python — what to learn in what order, and which resources to use at each stage

FeaturedRoadmapBeginners

Python Package Managers Compared: pip, Poetry, uv, and Hatch

How pip, Poetry, uv, and Hatch actually differ, and which one to use for a new Python project in 2026

FeaturedPackagingComparison

Python's resource Module Explained

How to use Python's built-in resource module to read and limit CPU time, memory, and file descriptors on Unix systems

Standard LibraryUnix

Python Type Hints: A Practical Guide

How to actually use Python type hints beyond the basics — generics, Optional, Protocol, and when they're worth the effort

Type Hintsmypy

How to Find Trending Python Repos with Good First Issues

A practical method for finding active Python open source projects that are actually welcoming to first-time contributors

Open SourceGitHub