Python 300: Notebooks, Trust Stores, and Security

·55m 21s
Shared point

Celebrating Episode 300

The podcast celebrates its landmark 300th episode, highlighting the journey of the show since its inception in 2016. The hosts reflect on the evolution of Python and its community.

Packaging and Tooling

Brian discusses his recent exploration of different tools for packaging, specifically focusing on building wheels.
Key takeaway: Tools like Flit, Hatch, and setup have grown more accessible due to pyproject.toml support.
Tool Recommendation: Wheel Inspect is highlighted for inspecting the contents of wheels, while Check Wheel Contents acts as a valuable linter for package creators.

Solving the Jupyter Git Problem

The hosts discuss a significant update from fast.ai aimed at making Jupyter Notebooks compatible with version control.

"The Jupyter Git problem is now solved from Jeremy Howard over at fast.ai."
• Traditional issues like merge conflicts, non-deterministic cell outputs, and metadata pollution are addressed with nbdev.
• The solution introduces a new merge driver for Git and an automatic save hook for Jupyter to clean unnecessary data.

Modernizing Authentication with Trust Stores

Seth Larson explains the initiative to replace certify with native operating system trust stores.
• This helps resolve insurmountable errors when working behind corporate proxies where certificates aren't recognized by default Python environments.
The Path Forward: PIP version 22.2 added experimental support for this via --use-feature=trust-store.

The Terminal Renaissance

Brian introduces plotext, a library that allows for generating beautiful plots directly in the command line, including subplots and live data streams, fueling the current TUI (Terminal User Interface) renaissance.

Server-Side Improvements with HTMX

The discussion moves toward locality of behavior using HTMX and Jinja2Fragments, allowing developers to render specific blocks of HTML dynamically without complex JavaScript frameworks.

Supply Chain Security and Python Vulnerabilities

SLSA (Salsa): A standard for verifying the provenance of software artifacts to protect against malicious package injection.
Integer Parsing Vulnerability: The hosts discuss a critical security fix in Python (3.10.7+) addressing an integer parsing issue that could lead to Denial of Service (DoS) attacks on servers.

Topics

Chapters

7 chapters
Python Bytes
AI chat — answers grounded in episodes