Python Updates: Friendly Tracebacks, Data Analysis & Tools
Overview of Tools and Trends
In this episode, the hosts explore a variety of Python-related news, focusing on educational tools, data science ecosystems, and debugging utilities.
Friendly Traceback for Learners
A major highlight is the introduction of Friendly Traceback, a project aimed at making error messages more accessible for beginners. The tool enhances standard Python tracebacks by offering human-readable explanations, examples of why an error occurred, and even details on local variables, which can significantly aid the debugging process without needing to step into a debugger.
The State of Pandas and Data Science
Following the 2019 Pandas User Survey, the discussion highlights:
• Rapid Growth: Over 50% of respondents have used Pandas for less than two years, indicating a surge of new users.
• Operating Systems: Contrary to common stereotypes, Pandas usage shows significant distribution across Linux and Windows in addition to macOS.
• Python 3 Adoption: With 93% of users on Python 3, the data science community is effectively leading the transition away from legacy code.
Managing Python Versions
There is a debate regarding future version numbering (e.g., Python 3.10 vs. Python 4.0). The conversation addresses the risks of breaking legacy software that incorrectly parses version strings, and introduces the flake8-2020 plugin to help detect and prevent such issues.
Developer Productivity and Research
PyPI Analysis
The episode examines research into the current state of PyPI, identifying the libraries most relied upon by the community. Notably, NumPy emerged as the most common third-party dependency, underscoring its foundational role in data science workflows.
Debugging and Terminal Tools
"I'm actually working on creating my own text editor just so I can learn curses and it was really useful to be able to debug a curses application."
New tools for developers include:
• Remote PDB: A thin, portable wrapper around PDB for network-based debugging.
• Ekate: A unique Selenium-like web driver for the terminal, controlled via Tmux.
DAPI is also mentioned as a "pandas for humans" project, emphasizing the ongoing evolution of data analysis interfaces. The episode concludes with humorous anecdotes regarding database mishaps and the future of math education.