Skip to content
Episode 27: Calling Things, Part 1 episode artwork

Dec 7, 2025 2 hr 5 min

Episode 27: Calling Things, Part 1

from core.py Hosted by Pablo Galindo and Łukasz Langa

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

Episode details come from the podcast's RSS feed.

Embed this episode

Ready to play

Episode 27: Calling Things, Part 1

0:00 2:05:40

No transcript yet.

Requests help us decide what to transcribe next.

Frequently asked questions

How long is this episode of core.py?

This episode is 2 hours and 5 minutes long.

When was this core.py episode published?

This episode was published on December 7, 2025.

Can I download this core.py episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.