Python Updates: PEPs, Pandas 3.0, and Tabloid Language

·28m 50s
Shared point

Python Language Developments

PEP 798: Unpacking in Comprehensions

• A brand new draft proposal for Python 3.15 that introduces unpacking into comprehensions (list, set, dict, and generator).
• Designed to replace messy, multi-layered comprehensions with syntax similar to star args in function calls.
• Aims to bring consistency to the language, allowing developers to use a *iterable notation directly within comprehension structures.

PEP 810: Explicit Lazy Imports

• The Steering Council has officially accepted PEP 810, which introduces explicit lazy imports.
• This feature will allow modules to be imported only when they are first accessed, potentially improving startup performance for large applications.

Data Science & Tooling

Pandas 3.0 Release Candidate

Pandas 3.0 is approaching its official release, bringing major improvements:
• A dedicated string data type (dtype) by default, replacing generic object types and improving memory efficiency.
• The introduction of copy-on-write mechanisms, which optimize memory usage by deferring data copying until an actual modification occurs.
• Improved API consistency and PD call syntax support in assignments.

Typos: A Modern Misspelling Finder

• Unlike traditional spell checkers that flag unknown words, typos is a dedicated misspelling finder written in Rust.
• It integrates directly with editors via an LSP (Language Server Protocol), supporting VS Code, Cursor, and Vim.
• It excels at identifying misspellings within snake_case identifiers using a concrete syntax tree.

Testing Best Practices

Simulating Resource Contention

Slow-la-fi is a tool for simulating overloaded or resource-constrained machines to debug flaky tests that only fail in CI environments.
• It uses Cgroups v2 on Linux to throttle CPU and memory to replicate CI conditions locally.

Mocking Pitfalls

• A discussion on the dangers of aggressive mocking, particularly patching built-ins.open globally.
• Recommendations include using autospec=True and ensuring you patch imports exactly where they are used to keep tests robust.

"Don't mock the thing you're importing after you've imported it. Mock it there."

Fun & Community

The 'Tabloid' Programming Language

• An absurd, clickbait-inspired esoteric programming language where all keywords are formatted like sensationalist headlines (e.g., "Shocking development," "Rumor has it").
• It is fully functional and runs in browsers, serving as a humorous take on modern clickbait culture.

Topics

Chapters

7 chapters
Python Bytes
AI chat — answers grounded in episodes