Python Bytes

#437 Python Language Summit 2025 Highlights


Listen Later

Topics covered in this episode:
  • * The Python Language Summit 2025*
  • Fixing Python Properties
  • * complexipy*
  • * juvio*
  • Extras
  • Joke
  • Watch on YouTube

    About the show

    Sponsored by Posit: pythonbytes.fm/connect

    Connect with the hosts

    • Michael: @[email protected] / @mkennedy.codes (bsky)
    • Brian: @[email protected] / @brianokken.bsky.social
    • Show: @[email protected] / @pythonbytes.fm (bsky)
    • 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

      • Write up by Seth Michael Larson
      • How can we make breaking changes less painful?: talk by Itamar Oren
      • An Uncontentious Talk about Contention: talk by Mark Shannon
      • State of Free-Threaded Python: talk by Matt Page
      • Fearless Concurrency: talk by Matthew Parkinson, Tobias Wrigstad, and Fridtjof Stoldt
      • Challenges of the Steering Council: talk by Eric Snow
      • Updates from the Python Docs Editorial Board: talk by Mariatta
      • PEP 772 - Packaging Governance Process: talk by Barry Warsaw and Pradyun Gedam
      • Python on Mobile - Next Steps: talk by Russell Keith-Magee
      • What do Python core developers want from Rust?: talk by David Hewitt
      • Upstreaming the Pyodide JS FFI: talk by Hood Chatham
      • Lightning Talks: talks by Martin DeMello, Mark Shannon, Noah Kim, Gregory Smith, Guido van Rossum, Pablo Galindo Salgado, and Lysandros Nikolaou
      • 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

                      • via Balázs
                      • Also
                        • StormTrooper vlog
                        • BIGFOOT VLOG - ATTACKED BY WENDIGO!
                        • ...more
                          View all episodesView all episodes
                          Download on the App Store

                          Python BytesBy Michael Kennedy and Brian Okken

                          • 4.7
                          • 4.7
                          • 4.7
                          • 4.7
                          • 4.7

                          4.7

                          212 ratings


                          More shows like Python Bytes

                          View all
                          Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

                          Software Engineering Radio - the podcast for professional software developers

                          272 Listeners

                          The Changelog: Software Development, Open Source by Changelog Media

                          The Changelog: Software Development, Open Source

                          284 Listeners

                          Data Skeptic by Kyle Polich

                          Data Skeptic

                          480 Listeners

                          Talk Python To Me by Michael Kennedy

                          Talk Python To Me

                          590 Listeners

                          Software Engineering Daily by Software Engineering Daily

                          Software Engineering Daily

                          621 Listeners

                          Test & Code by Brian Okken

                          Test & Code

                          70 Listeners

                          Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

                          Super Data Science: ML & AI Podcast with Jon Krohn

                          298 Listeners

                          Data Engineering Podcast by Tobias Macey

                          Data Engineering Podcast

                          140 Listeners

                          Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                          Syntax - Tasty Web Development Treats

                          987 Listeners

                          CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

                          CoRecursive: Coding Stories

                          189 Listeners

                          DataFramed by DataCamp

                          DataFramed

                          267 Listeners

                          Practical AI by Practical AI LLC

                          Practical AI

                          192 Listeners

                          The Stack Overflow Podcast by The Stack Overflow Podcast

                          The Stack Overflow Podcast

                          62 Listeners

                          The Real Python Podcast by Real Python

                          The Real Python Podcast

                          139 Listeners

                          Oxide and Friends by Oxide Computer Company

                          Oxide and Friends

                          47 Listeners