Python: Donkey Cars, Case Folding, and PyCon 2020
Overview
This episode of Python Bytes dives into a mix of hardware projects, standard library improvements, and community news. The hosts discuss innovative ways to use Python for robotics, better string handling, and best practices for project management.
Key Topics
Robotics and AI
• Donkey Car: An accessible, modular Python library for self-driving RC cars. It serves as a fantastic project to learn computer vision, neural networks, and data logging using a Raspberry Pi and basic hardware.
Coding Best Practices
• Case Folding: A powerful often-overlooked string method in Python (introduced in 3.3). Unlike the standard .lower(), .casefold() is designed for aggressive caseless matching, especially useful when handling Unicode characters and internationalization.
• Dependency Management: A critical look at the current state of Pipenv versus using pip-tools (pip-compile) and standard virtual environments.
• Virtualenv's Resurgence: Discussion on a major new release of virtualenv that aims to address performance issues (slower creation times on Windows) and provides more flexible environment discovery compared to the built-in venv module.
• Property-Based Testing: An exploration into using the Hypothesis library to stress-test the CPython standard library itself, encouraging the community to help identify edge cases that traditional tests might miss.
Community and Events
• PyCon US 2020: Highlighting the importance of tutorials for professional development and as a justification for corporate funding to attend.
"If you are in a situation where you need to make a business case, the tutorials are often an excellent tool for that because you can get a lot of high-quality training."
• Security Alerts: Important reminders to update Django and the Waitress server due to recent SQL injection vulnerabilities.
Conclusion
The hosts conclude with a humorous look at the software development lifecycle, emphasizing the unpredictable nature of requirements and software evolution.