Real Python Podcast Episode #105 Title Artwork

Episode 105: Creating Better Error Messages for Python 3.10 & 3.11

The Real Python Podcast

Apr 08, 2022 1h 21m

What goes into creating those enhanced error messages in the latest versions of Python? How does the new PEG parser help to pinpoint where errors have occurred? This week on the show, Pablo Galindo Salgado talks about the work that goes into creating these improvements.

Episode Sponsor:

Pablo is a core CPython developer and is the release manager for Python versions 3.10 and 3.11. He is also serving his second term on the Python Steering Council.

Pablo is pleasantly surprised by the positive feedback for the new error messages in Python 3.10. He shares some of the upcoming enhancements for 3.11. We talk about how the new PEG parser allows for greater context when defining errors and pinpointing where they occur.

We talk about how he started contributing to CPython. He also shares some of the programming experiences he had while studying physics at university.

Topics:

  • 00:00:00 – Introduction
  • 00:01:56 – Member of the Python Steering Council
  • 00:02:40 – Physics background and research use of Python
  • 00:08:43 – How did you get involved in core development?
  • 00:10:27 – Why did you take on the role of release manager?
  • 00:13:38 – What challenges have you found along the way?
  • 00:19:08 – Sponsor: LinearB
  • 00:19:48 – What motivated you to add enhanced error messages?
  • 00:29:33 – How does the PEG parser help in these situations?
  • 00:37:04 – PEG parser and infinite lookahead
  • 00:40:58 – Identifying where the syntax is wrong
  • 00:43:28 – Finding where a comma is missing
  • 00:48:49 – Is this a dictionary missing a colon, or is it a set?
  • 00:50:19 – Identifying missing portions of a tryexcept block
  • 00:51:44 – Video Course Spotlight
  • 00:53:00 – Informing library maintainers and not slowing performance
  • 00:56:18 – Enhanced error messages coming in 3.11
  • 01:06:38 – Real Python preview of Python 3.11
  • 01:07:28 – What are you excited about in the world of Python?
  • 01:13:00 – What do you want to learn next?
  • 01:15:43 – How to contribute to the project?
  • 01:20:24 – Thanks and goodbye

Show Links: