Python Developer Trends: FastAPI, ASV, and Logic Testing
The Modern Python Ecosystem
This episode of Python Bytes features a dynamic discussion with guest Matthew Feigert on high-energy physics, data science, and cutting-edge Python tools. The hosts explore several key developments in the industry that are simplifying workflows and enhancing performance tracking.
Notable Libraries and Tools
• The FARM Stack: An examination of the FARM stack, which combines FastAPI, React, and MongoDB. It provides a robust, asynchronous path for web development that improves upon the older MEAN stack by leveraging Python's performance.
• Airspeed Velocity (ASV): A powerful tool for benchmarking Python projects. It allows developers to track performance metrics, memory consumption, and execution time over the entire history of a codebase.
• Vizidata: This utility brings a powerful, interactive terminal interface to tabular data. It simplifies complex analysis by supporting dozens of file formats, making data exploration efficient and accessible.
Automated Testing and Infrastructure
"Instead of writing a declarative single test, you can use property-based testing... you describe what the answer is."
The panel spent considerable time discussing Hypothesis, a property-based testing framework. They highlighted how it can solve testing challenges in complex, asynchronous systems by focusing on the logic and properties of code rather than simple input-output pairs.
Additionally, the show covered:
• PyAppleScript: An interface for automating macOS applications using Python, bypassing the limitations of traditional, complex AppleScript.
• AWS EC2 Mac Instances: A look at AWS providing dedicated Mac Mini environments for CI/CD pipelines, enabling seamless iOS app development in the cloud.
Announcements and Community
The episode closed with updates on upcoming virtual conferences, including PyCon 2021 and PyCascades, and emphasized the inclusivity efforts involving full transcripts for the podcast. The episode concluded with a humorous take on the "debugging" experience across Windows, Mac, and Linux.