We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode #437 Python Language Summit 2025 Highlights

#437 Python Language Summit 2025 Highlights

2025/6/23
logo of podcast Python Bytes

Python Bytes

AI Deep Dive AI Chapters Transcript
People
B
Brian Akin
M
Michael Kennedy
Topics
Michael Kennedy: 我介绍了Python语言峰会2025的亮点,包括如何减少破坏性更改带来的痛苦,异步IO、线程和并发的讨论,指导委员会面临的挑战,Python在移动设备上的应用,以及核心开发者对Rust的需求。峰会涵盖了多个重要议题,为Python的未来发展方向提供了有价值的见解。 Seth Michael Larson: (通过Michael Kennedy转述) 我撰写了Python语言峰会2025的报告,详细介绍了整个活动和大约10场演讲,旨在帮助社区成员了解核心开发者们关注的重点以及他们对未来的设想。

Deep Dive

Chapters
The Python Language Summit 2025, documented by Seth Michael Larson, covered various topics, including making breaking changes less painful, concurrency challenges, updates from the Python documentation editorial board, and the state of Python on mobile. Discussions also touched upon packaging governance, the steering council's challenges, and the integration of Rust within Python.
  • Seth Michael Larson documented the Python Language Summit 2025.
  • Discussions focused on mitigating the impact of breaking changes.
  • Significant attention was given to async IO, threading, and concurrency.
  • Python on mobile is now a tier three supported platform.
  • A considerable amount of native code on PyPI is Rust-based.

Shownotes Transcript

Topics covered in this episode:

- ** [The Python Language Summit 2025](https://pyfound.blogspot.com/2025/06/python-language-summit-2025.html?featured_on=pythonbytes))**

Watch on YouTube)

About the show

Sponsored by Posit: pythonbytes.fm/connect)

Connect with the hosts

Join us on YouTube at pythonbytes.fm/live) to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.

Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list), we'll never share it.

Michael #1: The Python Language Summit 2025)

Brian #2: Fixing Python Properties)

  • Will McGugan

  • “Python properties work well with type checkers such Mypy and friends. … The type of your property is taken from the getter only. Even if your setter accepts different types, the type checker will complain on assignment.”

  • Will describes a way to get around this and make type checkers happy.

  • He replaces @property with a descriptor. It’s a cool technique.

  • I also like the way Will is allowing different ways to use a property such that it’s more convenient for the user. This is a cool deverloper usability trick.

Brian #3: complexipy)

  • Calculates the cognitive complexity of Python files, written in Rust.

  • Based on the cognitive complexity measurement described in a white paper by Sonar

  • Cognitive complexity builds on the idea of cyclomatic complexity.

  • Cyclomatic complexity was intended to measure the “testability and maintainability” of the control flow of a module. Sonar argues that it’s fine for testability, but doesn’t do well with measuring the “maintainability” part. So they came up with a new measure.

  • Cognitive complexity is intended to reflects the relative difficulty of understanding, and therefore of maintaining methods, classes, and applications.

  • complexipy essentially does that, but also has a really nice color output.

  • Note: at the very least, you should be using “cyclomatic complexity”

  • try with ruff check --select C901

  • But also try complexipy.

  • Great for understanding which functions might be ripe for refactoring, adding more documentation, surrounding with more tests, etc.

Michael #4: juvio)

  • uv kernel for Jupyter

  • ⚙️ Automatic Environment Setup: When the notebook is opened, Juvio installs the dependencies automatically in an ephemeral virtual environment (using uv), ensuring that the notebook runs with the correct versions of the packages and Python

  • 📁 Git-Friendly Format: Notebooks are converted on the fly to a script-style format using # %% markers, making diffs and version control painless

  • Why Use Juvio?

  • No additional lock or requirements files are needed

  • Guaranteed reproducibility

  • Cleaner Git diffs

  • Powered By

  • uv – ultra-fast Python package management

  • PEP 723 – Python inline dependency standards

Extras

Brian:

  • Test & Code) in slow mode currently. But will be back with some awesome interviews.

Joke: The 0.1x Engineer)