
Episode 27: Calling Things, Part 1
From core.py by Pablo Galindo and Łukasz Langa
December 7, 2025 · 2h 6m · Season 1 · Episode 27
About this episode
The episode discusses how synchronous Python function calls work, focusing on various types of call stacks and the interpreter's evaluation stack.
Inside of you there are two stacks. Actually, there’s three. The system-level call stack, the CPython call stack, and the interpreter’s evaluation stack. What is all that about? Today we’ll talk about how synchronous Python function calls work. Async stuff comes next time! ## Timestamps Here you go — all square brackets changed to parentheses: (00:00:00) INTRO (00:02:28) PART 1: CALLING THINGS (00:04:19) The Lawful Good Language (00:13:18) Why is there a call stack? (00:19:45) Python functions are not tied to the system call stack (00:23:22) What's in a Python frame? (00:23:35) Execution book-keeping data (00:24:21) Locals (00:27:35) The interpreter evaluation stack (00:28:34) What are register-based interpreters? (00:36:33) Interpretation using the evaluation stack (00:42:46) Executing a function (00:45:37) How do exceptions fit into the execution model? (01:05:51) PART 2: PR OF THE WEEK (01:15:48) PART 3: DONATE.PYTHON.ORG (01:17:21) PART 4: WHAT'S GOING ON IN CPYTHON (01:27:59) Free threading changes (01:38:16) Performance (01:51:08) Bugfixes (02:04:03) OUTRO
People in this episode
Hosts: Pablo Galindo, Łukasz Langa
Topics covered
- Python function calls
- call stack
- interpreter evaluation stack
- synchronous programming
- CPython internals
Keywords
- Python
- call stack
- CPython
- function calls
- evaluation stack
- synchronous
- interpreter
Mentioned in this episode
Organizations: CPython
More episodes of core.py
- Episode 29: Is CPython developed with AI now? · April 17, 2026 · 2h 9m
- Episode 28: 2025 In Review · January 3, 2026 · 1h 17m
- Episode 26.2: CPython Sprint Week in Cambridge UK, Part 2 · October 25, 2025 · 2h 18m
- Episode 26.1: CPython Sprint Week in Cambridge UK, Part 1 · October 15, 2025 · 2h 25m
- Episode 25: A Python That Never Was · August 26, 2025 · 2h 1m
- The Megahertz · July 12, 2025 · 1h 42m
Explore listener stats, chart rankings, contacts and more on the core.py podcast page.