;
;

Real Python

LlamaIndex in Python: A RAG Guide With Examples

Learn how to set up LlamaIndex, choose an LLM, load your data, build and persist an index, and run queries to get grounded, reliable answers with e...
Posted on 24 December 2025 | 2:00 pm

Quiz: LlamaIndex in Python: A RAG Guide With Examples

Take this Python LlamaIndex quiz to test your understanding of index persistence, reloading, and performance gains in RAG applications.
Posted on 24 December 2025 | 12:00 pm

Reading User Input From the Keyboard With Python

Master taking user input in Python to build interactive terminal apps with clear prompts, solid error handling, and smooth multi-step flows.
Posted on 23 December 2025 | 2:00 pm

Quiz: Recursion in Python: An Introduction

Test your understanding of recursion in Python, including base cases, recursive structure, performance considerations, and common use cases.
Posted on 23 December 2025 | 12:00 pm

SOLID Design Principles: Improve Object-Oriented Code in Python

Learn how to apply SOLID design principles in Python and build maintainable, reusable, and testable object-oriented code.
Posted on 22 December 2025 | 2:00 pm

Quiz: SOLID Design Principles: Improve Object-Oriented Code in Python

Learn Liskov substitution in Python. Spot Square and Rectangle pitfalls and design safer APIs with polymorphism. Test your understanding now.
Posted on 22 December 2025 | 12:00 pm

The Real Python Podcast – Episode #277: Moving Towards Spec-Driven Development

What are the advantages of spec-driven development compared to vibe coding with an LLM? Are these recent trends a move toward declarative programmi...
Posted on 19 December 2025 | 12:00 pm

How to Build the Python Skills That Get You Hired

Build a focused learning plan that helps you identify essential Python skills, assess your strengths, and practice effectively to progress.
Posted on 17 December 2025 | 2:00 pm

Exploring Asynchronous Iterators and Iterables

Learn to build async iterators and iterables in Python to handle async operations efficiently and write cleaner, faster code.
Posted on 16 December 2025 | 2:00 pm

Writing DataFrame-Agnostic Python Code With Narwhals

If you're a Python library developer looking to write DataFrame-agnostic code, this tutorial will show how the Narwhals library could give you a so...
Posted on 15 December 2025 | 2:00 pm

Quiz: Writing DataFrame-Agnostic Python Code With Narwhals

If you're a Python library developer wondering how to write DataFrame-agnostic code, the Narwhals library is the solution you're looking for.
Posted on 15 December 2025 | 12:00 pm

Python Inner Functions: What Are They Good For?

Learn how to create inner functions in Python to access nonlocal names, build stateful closures, and create decorators.
Posted on 10 December 2025 | 2:00 pm

Quiz: Python Inner Functions: What Are They Good For?

Test inner functions, closures, nonlocal, and decorators in Python. Build confidence and learn to keep state across calls. Try the quiz now.
Posted on 10 December 2025 | 12:00 pm

Using Functional Programming in Python

Boost your Python skills with a quick dive into functional programming: what it is, how Python supports it, and why it matters.
Posted on 9 December 2025 | 2:00 pm

Lazy Imports Land in Python and Other Python News for December 2025

PEP 810 brings lazy imports to Python 3.15, PyPI tightens 2FA security, and Django 6.0 reaches release candidate. Catch up on all the important Pyt...
Posted on 8 December 2025 | 2:00 pm

The Real Python Podcast – Episode #276: Exploring Quantum Computing & Python Frameworks

What are the recent advances in the field of quantum computing and high-performance computing? And what Python tools can you use to develop program...
Posted on 5 December 2025 | 12:00 pm

How to Use Google's Gemini CLI for AI Code Assistance

Learn how to use Gemini CLI to bring Google's AI-powered coding assistance directly into your terminal to help you analyze and fix code.
Posted on 3 December 2025 | 2:00 pm

Quiz: How to Use Google's Gemini CLI for AI Code Assistance

Learn how to install, authenticate, and safely use the Gemini CLI to interact with Google's Gemini models.
Posted on 3 December 2025 | 12:00 pm

Introduction to pandas

Learn pandas DataFrames: explore, clean, and visualize data with powerful tools for analysis. Delete unneeded data, import data from a CSV file, an...
Posted on 2 December 2025 | 2:00 pm

Quantum Computing Basics With Qiskit

Understand quantum computing basics like qubits, superposition, and entanglement. Then use Python Qiskit to build your first quantum circuit.
Posted on 1 December 2025 | 2:00 pm

Quiz: Quantum Computing Basics With Qiskit

Test your understanding of quantum computing basics, including superposition, qubits, entanglement, and key programming concepts.
Posted on 1 December 2025 | 12:00 pm

How to Convert Bytes to Strings in Python

Turn Python bytes to strings, pick the right encoding, and validate results with clear error handling strategies.
Posted on 26 November 2025 | 2:00 pm

Getting Started With Claude Code

Learn to set up and use Claude Code for Python projects: install, run commands, and integrate with Git.
Posted on 25 November 2025 | 2:00 pm

How to Properly Indent Python Code

Learn how to properly indent Python code in IDEs, Python-aware editors, and plain text editors—plus explore PEP 8 formatters like Black and Ruff.
Posted on 24 November 2025 | 2:00 pm

The Real Python Podcast – Episode #275: Building a FastAPI Application & Exploring Python Concurrency

What are the steps to get started building a FastAPI application? What are the different types of concurrency available in Python? Christopher Trud...
Posted on 21 November 2025 | 12:00 pm

Quiz: Build a Python MCP Client to Test Servers From Your Terminal

Learn how to create a Python MCP client, start an AI-powered chat session, and run it from the command line. Check your understanding.
Posted on 19 November 2025 | 12:00 pm

Break Out of Loops With Python's break Keyword

Learn how Python’s break lets you exit for and while loops early, with practical demos from simple games to everyday data tasks.
Posted on 18 November 2025 | 2:00 pm

Quiz: How to Serve a Website With FastAPI Using HTML and Jinja2

Review how to build dynamic websites with FastAPI and Jinja2, and serve HTML, CSS, and JS with HTMLResponse and StaticFiles.
Posted on 17 November 2025 | 12:00 pm

The Real Python Podcast – Episode #274: Preparing Data Science Projects for Production

How do you prepare your Python data science projects for production? What are the essential tools and techniques to make your code reproducible, or...
Posted on 14 November 2025 | 12:00 pm

Python Operators and Expressions

Operators let you combine objects to create expressions that perform computations -- the core of how Python works.
Posted on 11 November 2025 | 2:00 pm

The Real Python Podcast – Episode #273: Advice for Writing Maintainable Python Code

What are techniques for writing maintainable Python code? How do you make your Python more readable and easier to refactor? Christopher Trudeau is ...
Posted on 7 November 2025 | 12:00 pm

Quiz: Python MarkItDown: Convert Documents Into LLM-Ready Markdown

Practice MarkItDown basics. Convert PDFs, Word documents, Excel documents, and HTML documents to Markdown. Try the quiz.
Posted on 5 November 2025 | 12:00 pm

Building UIs in the Terminal With Python Textual

Learn to build rich, interactive terminal UIs in Python with Textual: a powerful library for modern, event-driven TUIs.
Posted on 4 November 2025 | 2:00 pm

The Real Python Podcast – Episode #272: Michael Kennedy: Managing Your Own Python Infrastructure

How do you deploy your Python application without getting locked into an expensive cloud-based service? This week on the show, Michael Kennedy from...
Posted on 31 October 2025 | 12:00 pm

Speed Up Python With Concurrency

Learn what concurrency means in Python and why you might want to use it. You'll see a simple, non-concurrent approach and then look into why you'd ...
Posted on 28 October 2025 | 2:00 pm

The Real Python Podcast – Episode #271: Benchmarking Python 3.14 & Enabling Asyncio to Scale

How does Python 3.14 perform under a few hand-crafted benchmarks? Does the performance of asyncio scale on the free-threaded build? Christopher Tru...
Posted on 24 October 2025 | 12:00 pm

Investigating Quasar Data With Polars and Interactive marimo Notebooks

Learn to visualize quasar redshift data by building an interactive marimo dashboard using Polars, pandas, and Matplotlib.
Posted on 21 October 2025 | 2:00 pm

The Real Python Podcast – Episode #270: Evolving Teaching Python in the Classroom

How is teaching young students Python changing with the advent of LLMs? This week on the show, Kelly Schuster-Paredes from the Teaching Python podc...
Posted on 17 October 2025 | 12:00 pm

The Real Python Podcast – Episode #269: Python 3.14: Exploring the New Features

Python 3.14 is here! Christopher Trudeau returns to discuss the new version with Real Python team member Bartosz Zaczyński. This year, Bartosz coor...
Posted on 10 October 2025 | 12:00 pm

The Real Python Podcast – Episode #268: Advice on Beginning to Learn Python

What's changed about learning Python over the last few years? What new techniques and updated advice should beginners have as they start their jour...
Posted on 3 October 2025 | 12:00 pm