התחל במצב לא מקוון עם האפליקציה Player FM !
Benchmarking Python 3.14 & Enabling Asyncio to Scale
Manage episode 515368668 series 2637014
How does Python 3.14 perform under a few hand-crafted benchmarks? Does the performance of asyncio scale on the free-threaded build? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
At the top of the show, we have a mountain of release news and Python Enhancement Proposals to cover. Then, we dig into a couple of articles covering the performance of Python 3.14. The first is a benchmarking comparison of the last several Python versions and their variations, including JIT and free-threaded mode. The second explores the changes in 3.14 that enable asyncio to scale on CPython’s free-threaded build.
We also share several other articles and projects from the Python community, including an introduction to NiceGUI, a free-threaded Python library compatibility checker, an exploration of what is “good taste” in software engineering, HTML templating with t‑strings, and a tool for testing Sphinx docs instantly in the browser.
Course Spotlight: Documenting Python Projects With Sphinx and Read the Docs
In this video series, you’ll create project documentation from scratch using Sphinx, the de facto standard for Python. You’ll also hook your code repository up to Read the Docs to automatically build and publish your code documentation.
Topics:
- 00:00:00 – Introduction
- 00:02:28 – Python 3.12.12, 3.11.14, 3.10.19 and 3.9.24 now available
- 00:03:08 – Python 3.13.9 is now available
- 00:03:26 – Python 3.15.0 alpha 1
- 00:04:02 – PEP 804: An External Dependency Registry and Name Mapping Mechanism
- 00:04:56 – PEP 806: Mixed Sync/Async Context Managers With Precise Async Marking
- 00:06:34 – PEP 807: Index Support for Trusted Publishing
- 00:07:21 – PEP 809: Stable ABI for the Future
- 00:08:10 – PEP 810: Explicit Lazy Imports
- 00:10:31 – Python lazy imports you can use today
- 00:10:48 – Lazy Imports Using wrapt
- 00:11:18 – Python 3.14 Is Here. How Fast Is It?
- 00:17:45 – Free-Threaded Python Library Compatibility Checker
- 00:19:54 – Scaling Asyncio on Free-Threaded Python
- 00:24:06 – Real Python 3.14 Resources
- 00:25:18 – Video Course Spotlight
- 00:26:31 – Intro to NiceGUI: Build Interactive Python Web Apps
- 00:30:22 – What Is “Good Taste” in Software Engineering?
- 00:40:52 – Try Sphinx Docs Instantly in Your Browser
- 00:43:11 – Introducing tdom: HTML Templating With t‑strings
- 00:46:21 – Thanks and goodbye
News:
- Python Insider: Python 3.12.12, 3.11.14, 3.10.19 and 3.9.24 are now available!
- Python Insider: Python 3.13.9 is now available!
- Python Insider: Python 3.15.0 alpha 1
- PEP 804: An External Dependency Registry and Name Mapping Mechanism (Added)
- PEP 806: Mixed Sync/Async Context Managers With Precise Async Marking (Added)
- PEP 807: Index Support for Trusted Publishing (Added)
- PEP 809: Stable ABI for the Future (Added)
- PEP 810: Explicit Lazy Imports (Added)
- Python lazy imports you can use today - PythonTest
- Lazy Imports Using
wrapt– PEP 810 proposes adding explicit lazy imports to Python, but you can already achieve this with third-party libraries. This post shows you how usingwrapt.
Show Links:
- Python 3.14 Is Here. How Fast Is It? – A comprehensive deep-dive comparison of performance figures between Python versions and variations, including the JIT and free-threaded mode.
- Free-Threaded Python Library Compatibility Checker – A heat map and table summarizing Python free-threaded compatibility in a variety of common Python packages.
- Python 3.14: 3
asyncioChanges –asynciochanges are often overlooked. In the latest 3.14 release, there are three newasynciofeatures and changes. - Scaling Asyncio on Free-Threaded Python – A recap of the work done in Python 3.14 to enable
asyncioto scale on the free-threaded build of CPython. - Intro to NiceGUI: Build Interactive Python Web Apps – Use
NiceGUIto turn Python scripts into interactive web apps without touching HTML, CSS, or JavaScript.
Discussion:
- What Is “Good Taste” in Software Engineering? – This opinion piece discusses the difference between skill and taste when writing software. What counts as “clean code” for one person may not be the same for another.
Projects:
- Try Sphinx Docs Instantly in Your Browser
- Introducing
tdom: HTML Templating With t‑strings – Python 3.14 introduces t-strings, and this article showcasestdom, a new HTML DOM toolkit that takes advantage of them to produce safer output.
Additional Links:
- Benchmarking MicroPython - miguelgrinberg.com
- Is Python Really That Slow? - miguelgrinberg.com
- Bubble sort - Wikipedia
- Fibonacci sequence - Wikipedia
- Python 3.14: Cool New Features for You to Try – Real Python
- What’s New in Python 3.14 – Real Python
- Python 3.14 Preview: REPL Autocompletion and Highlighting – Real Python
- Python 3.13 Preview: A Modern REPL – Real Python
- Python 3.14 Preview: Lazy Annotations – Real Python
- Python 3.14 Preview: Better Syntax Error Messages – Real Python
- Python 3.14 Preview: Template Strings (T-Strings) – Real Python
- Python 3.13: Free Threading and a JIT Compiler – Real Python
- Quasar Framework
Level up your Python skills with our expert-led courses:
272 פרקים
Manage episode 515368668 series 2637014
How does Python 3.14 perform under a few hand-crafted benchmarks? Does the performance of asyncio scale on the free-threaded build? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
At the top of the show, we have a mountain of release news and Python Enhancement Proposals to cover. Then, we dig into a couple of articles covering the performance of Python 3.14. The first is a benchmarking comparison of the last several Python versions and their variations, including JIT and free-threaded mode. The second explores the changes in 3.14 that enable asyncio to scale on CPython’s free-threaded build.
We also share several other articles and projects from the Python community, including an introduction to NiceGUI, a free-threaded Python library compatibility checker, an exploration of what is “good taste” in software engineering, HTML templating with t‑strings, and a tool for testing Sphinx docs instantly in the browser.
Course Spotlight: Documenting Python Projects With Sphinx and Read the Docs
In this video series, you’ll create project documentation from scratch using Sphinx, the de facto standard for Python. You’ll also hook your code repository up to Read the Docs to automatically build and publish your code documentation.
Topics:
- 00:00:00 – Introduction
- 00:02:28 – Python 3.12.12, 3.11.14, 3.10.19 and 3.9.24 now available
- 00:03:08 – Python 3.13.9 is now available
- 00:03:26 – Python 3.15.0 alpha 1
- 00:04:02 – PEP 804: An External Dependency Registry and Name Mapping Mechanism
- 00:04:56 – PEP 806: Mixed Sync/Async Context Managers With Precise Async Marking
- 00:06:34 – PEP 807: Index Support for Trusted Publishing
- 00:07:21 – PEP 809: Stable ABI for the Future
- 00:08:10 – PEP 810: Explicit Lazy Imports
- 00:10:31 – Python lazy imports you can use today
- 00:10:48 – Lazy Imports Using wrapt
- 00:11:18 – Python 3.14 Is Here. How Fast Is It?
- 00:17:45 – Free-Threaded Python Library Compatibility Checker
- 00:19:54 – Scaling Asyncio on Free-Threaded Python
- 00:24:06 – Real Python 3.14 Resources
- 00:25:18 – Video Course Spotlight
- 00:26:31 – Intro to NiceGUI: Build Interactive Python Web Apps
- 00:30:22 – What Is “Good Taste” in Software Engineering?
- 00:40:52 – Try Sphinx Docs Instantly in Your Browser
- 00:43:11 – Introducing tdom: HTML Templating With t‑strings
- 00:46:21 – Thanks and goodbye
News:
- Python Insider: Python 3.12.12, 3.11.14, 3.10.19 and 3.9.24 are now available!
- Python Insider: Python 3.13.9 is now available!
- Python Insider: Python 3.15.0 alpha 1
- PEP 804: An External Dependency Registry and Name Mapping Mechanism (Added)
- PEP 806: Mixed Sync/Async Context Managers With Precise Async Marking (Added)
- PEP 807: Index Support for Trusted Publishing (Added)
- PEP 809: Stable ABI for the Future (Added)
- PEP 810: Explicit Lazy Imports (Added)
- Python lazy imports you can use today - PythonTest
- Lazy Imports Using
wrapt– PEP 810 proposes adding explicit lazy imports to Python, but you can already achieve this with third-party libraries. This post shows you how usingwrapt.
Show Links:
- Python 3.14 Is Here. How Fast Is It? – A comprehensive deep-dive comparison of performance figures between Python versions and variations, including the JIT and free-threaded mode.
- Free-Threaded Python Library Compatibility Checker – A heat map and table summarizing Python free-threaded compatibility in a variety of common Python packages.
- Python 3.14: 3
asyncioChanges –asynciochanges are often overlooked. In the latest 3.14 release, there are three newasynciofeatures and changes. - Scaling Asyncio on Free-Threaded Python – A recap of the work done in Python 3.14 to enable
asyncioto scale on the free-threaded build of CPython. - Intro to NiceGUI: Build Interactive Python Web Apps – Use
NiceGUIto turn Python scripts into interactive web apps without touching HTML, CSS, or JavaScript.
Discussion:
- What Is “Good Taste” in Software Engineering? – This opinion piece discusses the difference between skill and taste when writing software. What counts as “clean code” for one person may not be the same for another.
Projects:
- Try Sphinx Docs Instantly in Your Browser
- Introducing
tdom: HTML Templating With t‑strings – Python 3.14 introduces t-strings, and this article showcasestdom, a new HTML DOM toolkit that takes advantage of them to produce safer output.
Additional Links:
- Benchmarking MicroPython - miguelgrinberg.com
- Is Python Really That Slow? - miguelgrinberg.com
- Bubble sort - Wikipedia
- Fibonacci sequence - Wikipedia
- Python 3.14: Cool New Features for You to Try – Real Python
- What’s New in Python 3.14 – Real Python
- Python 3.14 Preview: REPL Autocompletion and Highlighting – Real Python
- Python 3.13 Preview: A Modern REPL – Real Python
- Python 3.14 Preview: Lazy Annotations – Real Python
- Python 3.14 Preview: Better Syntax Error Messages – Real Python
- Python 3.14 Preview: Template Strings (T-Strings) – Real Python
- Python 3.13: Free Threading and a JIT Compiler – Real Python
- Quasar Framework
Level up your Python skills with our expert-led courses:
272 פרקים
All episodes
×ברוכים הבאים אל Player FM!
Player FM סורק את האינטרנט עבור פודקאסטים באיכות גבוהה בשבילכם כדי שתהנו מהם כרגע. זה יישום הפודקאסט הטוב ביותר והוא עובד על אנדרואיד, iPhone ואינטרנט. הירשמו לסנכרון מנויים במכשירים שונים.