A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community. The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics. Join us every Friday morning to hear what's new in the world of Python programming and become a more effective Pythonista.
Creating Better Error Messages for Python 3.10 & 3.11
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.
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.
Course Spotlight: Starting With Linear Regression in Python
In this video course, you’ll get started with linear regression in Python. Linear regression is one of the fundamental statistical and machine learning techniques, and Python is a popular choice for machine learning.
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
try
…except
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:
- PEP 8016 – The Steering Council Model | peps.python.org
- Fortran Programming Language
- Wolfram Mathematica: Modern Technical Computing
- C (programming language) - Wikipedia
- Mare Nostrum, The Temple Of The Bit | WIRED
- Python Insider: Python 3.10.4 and 3.9.12 are now available out of schedule
- PEP 657 – Include Fine Grained Error Locations in Tracebacks | peps.python.org
- Python 3.11 Preview: Even Better Error Messages – Real Python
- friendly-traceback: Friendlier Python tracebacks.
- IPython - Interactive Computing
- Coverage.py - Documentation
- faster-cpython/ideas - presentation pdf · GitHub
- PEP 659 – Specializing Adaptive Interpreter | peps.python.org
- How to Sweep Pick: 14 Steps (with Pictures) - wikiHow
- Line 6 - Shuriken Variax Guitar
- Talks: Making Python Better One Error Message at a Time PyCon 2022
- Python Developer’s Guide
- Guide to CPython’s Parser - Python Developer’s Guide
- pablogsal (Pablo Galindo Salgado) · GitHub
- Pablo Galindo Salgado (@pyblogsal) / Twitter