
Episode 267: Managing Feature Flags & Comparing Python Visualization Libraries
The Real Python Podcast
What’s a good way to enable or disable code paths without redeploying the software? How can you use feature flags to toggle functionality for specific users of your application? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
Episode Sponsor:
Christopher shares an article exploring the use of feature flags. The piece advises targeting specific users, storing schemas, and relying on well-worn code paths. He also discusses the danger of the exponential growth of functionality tests as feature flags are added.
We dig into a comparison of six popular Python visualization libraries. The article provides code examples along with their respective visual output to highlight features and make selecting the optimal library for your work easier.
We also share several other articles and projects from the Python community, including a news roundup, benchmarking MicroPython, simplifying IPs and networks in Python, a “scream” cipher, and a browser-based graphical viewer for the output of Python’s cProfile module.
This episode is sponsored by InfluxData.
Course Spotlight: Exploring Astrophysics in Python With pandas and Matplotlib
This course uses three problems often covered in introductory astrophysics courses to explore in Python. Along the way, you’ll learn some astronomy and how to use a variety of data science libraries like NumPy, Matplotlib, pandas, and pint.
Topics:
- 00:00:00 – Introduction
- 00:03:04 – Python 3.14.0rc3 is go!
- 00:03:14 – Django 6.0 alpha 1 released
- 00:04:27 – PEP 782: Add PyBytesWriter C API
- 00:05:06 – PEP 794: Import Name Metadata
- 00:05:30 – PEP 803: Stable ABI for Free-Threaded Builds
- 00:05:55 – Announcing the 2025 PSF Board Election Results!
- 00:06:18 – Top 6 Python Libraries for Visualization: Which One to Use?
- 00:18:34 – Sponsor: InfluxData
- 00:19:24 – Feature Flags in Depth
- 00:22:55 – Benchmarking MicroPython
- 00:30:02 – Video Course Spotlight
- 00:31:16 – Simplify IPs, Networks, and Subnets With the
ipaddress
- 00:34:52 – SCREAM CIPHER (“ǠĂȦẶAẦ ĂǍÄẴẶȦ”
- 00:36:20 – SnakeViz: browser based graphical viewer for the output of Python’s cProfile module
- 00:40:58 – Thanks and goodbye
News:
- Python Insider: Python 3.14.0rc3 is go!
- Django 6.0 alpha 1 released - Django
- PEP 782: Add PyBytesWriter C API (Final)
- PEP 794: Import Name Metadata (Accepted)
- PEP 803: Stable ABI for Free-Threaded Builds (Added)
- Python Software Foundation News: Announcing the 2025 PSF Board Election Results!
Show Links:
- Top 6 Python Libraries for Visualization: Which One to Use? – The vast number of Python visualization libraries can be overwhelming. This article shows you the pros and cons of some popular libraries, including Matplotlib, seaborn, Plotly, Bokeh, Altair, and Pygal.
- Feature Flags in Depth – Feature flags are a way to enable or disable blocks of code without needing to redeploy your software. This post shows you several different approaches to feature flags.
- Benchmarking MicroPython – This post compares the performance of running Python on several microcontroller boards.
- Simplify IPs, Networks, and Subnets With the
ipaddress
– Python’s built-inipaddress
module makes handling IP addresses and networks clean and reliable. This article shows how to validate, iterate, and manage addresses and subnets while avoiding common pitfalls of string-based handling.
Projects:
- SCREAM CIPHER (“ǠĂȦẶAẦ ĂǍÄẴẶȦ”) – Seth discovered that Unicode has more accented “Latin capital letter A” characters than the 26 letters in the English alphabet.
- SnakeViz: browser based graphical viewer for the output of Python’s cProfile module