Episode 10: The Interactive REPL
Description
Oof, no episode in April, huh? Yeah, we're getting close to Python 3.13 beta 1. PyCon US is also coming up real soon. Let's use this opportunity then to talk about a feature we're teaming up on: a better interactive interpreter!
## Outline
(00:00:00 ) INTRO
(00:01:53 ) PART 1: History of Terminals
(00:03:20 ) /dev/tty
(00:04:51 ) The first cool word
(00:05:45 ) Chrząszcz
(00:06:20 ) Control code characters in ASCII
(00:11:54 ) PART 2: Python REPL Today
(00:12:34 ) There is no REPL
(00:15:28 ) So what is there instead?
(00:19:13 ) readline
(00:25:38 ) Source in the REPL
(00:31:13 ) Implementing a REPL from scratch? Prepare to support arg: 5
(00:36:09 ) PART 3: PR OF THE WEEK
(00:37:09 ) Introducing: Complaining Pablo
(00:38:23 ) Tests are always green if you skip them
(00:39:57 ) Getting dirty with escape sequences
(00:41:28 ) Typing finds bugs
(00:42:29 ) Shiny new features of the new REPL
(00:45:55 ) Contributing back to PyPy
(00:48:10 ) We still have two weeks, right?
(00:49:59 ) Is Python synthwave enough?
(00:51:57 ) Do we have a bug?
(00:55:31 ) What's lurking in pydoc?
(00:59:38 ) PART 4: WHAT'S HAPPENING IN CPYTHON?
(01:02:39 ) PEP 744: The JIT
(01:06:05 ) Incremental GC is now actually in
(01:08:21 ) Tier 2 interpreter updates
(01:10:29 ) Python supported on iOS with PEP 730
(01:13:11 ) Better error messages for name shadowing
(01:15:17 ) Queue.shutdown()
(01:17:14 ) ctypes adopts heap types
(01:18:26 ) Free-threading updates
(01:20:14 ) Dataclass creation is faster
(01:20:44 ) OUTRO