Python Developer Tools: Formatting, Visualization, and Testing

·38m 18s
Shared point

Overview

This episode of Python Bytes covers an array of essential tools for Python developers to improve coding efficiency, code quality, and project management. The discussion emphasizes practical utilities, architectural best practices, and resources for professional growth.

Key Technical Topics

Data Handling & Visualization

Date Formatting: A review of pystrftime.com, a handy resource to generate complex datetime format strings without the headache of manual lookups.
Pandas Bokeh: A powerful plotting backend for pandas, geopandas, and PySpark that allows for quick, interactive, and browser-ready visualizations with minimal code, supporting features like zooming and panning.

Developer Workflow & Architecture

NBDev: A revolutionary framework from the fast.ai team that enables developers to build professional, pip-installable Python packages directly from Jupyter Notebooks. It integrates testing, documentation, and source code management, while also providing hooks for Git to prevent metadata-induced merge conflicts.
Naming Modules: A discussion on why the common practice of creating a utils.py file is a "code smell" that leads to uncohesive and unmaintainable code. The recommendation is to group functions by their actual purpose or domain role.

Performance & Quality Assurance

Scalene: A high-performance, line-by-line CPU and memory profiler for Python. It provides precise insights into where an application spends its time, including separating native code from user-defined Python code.
Property-Based Testing: An introduction to hypothesis, a tool that moves beyond traditional example-based testing. It allows developers to define properties and invariants to generate thousands of test cases, which is highly effective for identifying edge cases and refactoring code safely.

Community & Industry News

"They don't fix problems. They find them." (A joke regarding QA roles, emphasizing the need for collaborative development teams.)

Conway's Legacy: A brief mention of John Conway, the creator of the Game of Life, and his contributions to computer science.
GitHub Updates: Recognition of GitHub's transition to a free model for teams and reduced pricing for organizational users.
PyCon US 2020: Updates on the virtual conference schedule and the importance of checking the career fair resources during remote events.

Topics

Chapters

8 chapters
Python Bytes
AI chat — answers grounded in episodes