Artwork

תוכן מסופק על ידי Michael Kennedy and Brian Okken. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי Michael Kennedy and Brian Okken או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Player FM - אפליקציית פודקאסט
התחל במצב לא מקוון עם האפליקציה Player FM !

#437 Python Language Summit 2025 Highlights

34:28
 
שתפו
 

Manage episode 490405982 series 1305988
תוכן מסופק על ידי Michael Kennedy and Brian Okken. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי Michael Kennedy and Brian Okken או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Topics covered in this episode:
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

  continue reading

444 פרקים

Artwork

#437 Python Language Summit 2025 Highlights

Python Bytes

1,842 subscribers

published

iconשתפו
 
Manage episode 490405982 series 1305988
תוכן מסופק על ידי Michael Kennedy and Brian Okken. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי Michael Kennedy and Brian Okken או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Topics covered in this episode:
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

  continue reading

444 פרקים

כל הפרקים

×
 
Loading …

ברוכים הבאים אל Player FM!

Player FM סורק את האינטרנט עבור פודקאסטים באיכות גבוהה בשבילכם כדי שתהנו מהם כרגע. זה יישום הפודקאסט הטוב ביותר והוא עובד על אנדרואיד, iPhone ואינטרנט. הירשמו לסנכרון מנויים במכשירים שונים.

 

מדריך עזר מהיר

האזן לתוכנית הזו בזמן שאתה חוקר
הפעלה