Python Data Performance, FastAPI Filters & Decorators

·39m 32s
Shared point

Python Performance & Optimization

Apache Arrow and Parquet

In this episode, the hosts explore the high-performance intersection of Pandas, Apache Arrow, and the Parquet file format.
Parquet and Feather formats offer drastically superior read/write speeds and smaller storage footprints compared to the traditional CSV.
• While Pandas remains excellent for data wrangling, switching to PyArrow backend tables can provide significant performance gains in memory management and mathematical operations.
Immutable data structures in Arrow contribute to its speed, though users should weigh this against the convenience of Pandas' mutable exploration style.

Image Optimization

For developers managing static assets (like on websites or mobile apps), the hosts recommend ImageOptim.

"It gives you a little report at the bottom, like you saved either 10K or you saved five megs, depending, you can decide whether to keep the changes."
• This tool provides lossless compression by wrapping several high-quality image manipulation utilities, effectively reducing application bundle sizes.

API Development & Code Quality

FastAPIFilter

Discussion centered on FastAPIFilter, a library designed to bring declarative query string filtering to FastAPI.
• This tool allows developers to expose database queries directly to the API, supporting backends like SQLAlchemy and MongoEngine.
• While powerful for internal dashboards and rapid prototyping, the hosts advised caution regarding exposing raw database schema fields to public endpoints to avoid potential security vulnerabilities.

Python Decorators

The hosts reviewed 12 useful Python decorators for cleaner code, including:
wraps: Essential for maintaining metadata when creating custom decorators.
LRU Cache: A powerful way to speed up functions with expensive computations by caching results.
at exit.register: A cleaner approach to handling cleanup tasks during program termination compared to complex try/finally blocks.
PyHamcrest: A declarative, matcher-based assertion library intended to make test code more readable, particularly for complex logical sequences.

Community & Updates

Industry News

• The release of Python 3.11.2 and early work on 3.12 alpha builds were highlighted.
Django 4.2 beta was discussed, noting its stability for testing and upcoming integration improvements with psycopg3.

Topics

Chapters

6 chapters
Python Bytes
AI chat — answers grounded in episodes