cover of episode Python Getting Faster and Leaner & Ideas for Django Projects

Python Getting Faster and Leaner & Ideas for Django Projects

2024/10/25
logo of podcast The Real Python Podcast

The Real Python Podcast

AI Deep Dive AI Chapters Transcript
People
C
Christopher Trudeau
Topics
PEP 777 关注 Python wheel 包格式的未来发展,旨在确保未来版本的兼容性。这对于 Python 生态系统的稳定性至关重要,因为它规范了未来 wheel 版本的兼容性要求,避免了不必要的破坏。 Python 的性能改进主要体现在三个方面:首先是专门的适应性解释器,它通过识别代码模式并进行优化来提高性能;其次是内存管理的改进,通过减小基本对象的内存占用量来提高效率;最后是实验性的 JIT 编译器,它可以将字节码转换为机器码,从而提高执行速度。这些改进共同作用,使得 Python 的运行速度更快,效率更高。 Python 3.13 的发布因垃圾回收器更改导致性能问题而推迟,这说明在追求性能提升的同时,也需要谨慎处理潜在的副作用。

Deep Dive

Shownotes Transcript

What changes are happening under the hood in the latest versions of Python? How are these updates laying the groundwork for a faster Python in the coming years? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.

Christopher shares an article about Python’s recent performance improvements. The piece covers the specialized adaptive interpreter and explains what those terms mean. It also includes details about the experimental feature of the Just-In-Time (JIT) compiler added in 3.13.

We dig into a collection of Django projects you can use to practice and develop your skills. The projects ramp up from detailed beginner tutorials to more advanced projects with guidelines on how to get started. We also discuss a collection of popular websites that use Django.

We share several other articles and projects from the Python community, including a batch of recent Python Enhancement Protocols (PEPs), a couple of Python releases, using DuckDB in the browser with Pyodide, building a contact book app with Textual, generating a tiny status page with a Python script, and a grep-like tool that understands code.

This episode is sponsored by AssemblyAI.

Course Spotlight: Building a Site Connectivity Checker)

In this video course, you’ll build a Python site connectivity checker for the command line. While building this app, you’ll integrate knowledge related to making HTTP requests with standard-library tools, creating command-line interfaces, and managing concurrency with asyncio and aiohttp.

Topics:

  • 00:00:00 – Introduction

  • 00:03:11 – PEP 777: How to Re-Invent the Wheel

  • 00:04:22 – PEP 758: Allow except and except* Expressions Without Parentheses

  • 00:04:51 – PEP 760: No More Bare Excepts (Withdrawn)

  • 00:05:42 – PEP 735: Dependency Groups in pyproject.toml

  • 00:06:29 – PEP 761: Deprecating PGP Signatures for CPython Artifacts

  • 00:06:59 – Python 3.12.7 Released

  • 00:07:12 – Incremental GC and Pushing Back the 3.13.0 Release

  • 00:09:10 – DuckDB in the Browser With Pyodide

  • 00:15:35 – Sponsor: AssemblyAI

  • 00:16:18 – Build a Contact Book App With Python, Textual, and SQLite

  • 00:21:55 – Django Project Ideas

  • 00:28:42 – Video Course Spotlight

  • 00:30:00 – In the Making of Python Fitter and Faster

  • 00:35:13 – tinystatus: Tiny Status Page Generated by a Python Script

  • 00:38:06 – srgn: Grep-Like Tool That Understands Code

  • 00:42:01 – Thanks and goodbye

News:

Show Links:

  • DuckDB in the Browser With Pyodide) – Learn how to run DuckDB in an in-browser Python environment to enable simple querying on remote files, interactive documentation, and easy to use training materials.

  • Build a Contact Book App With Python, Textual, and SQLite) – In this tutorial, you’ll be guided step by step through the process of building a basic contact book application. You’ll use Python and Textual to build the application’s text-based user interface (TUI), and then use SQLite to manage the database.

  • Django Project Ideas) – Looking to experiment or build your portfolio? Discover creative Django project ideas for all skill levels, from beginner apps to advanced full-stack projects.

  • In the Making of Python Fitter and Faster) – This post details how Python’s recent performance improvements work under the hood. It covers changes to the interpreter, better memory management, and the newly experimental JIT compiler.

Projects:

Additional Links:

Level up your Python skills with our expert-led courses:

Support the podcast & join our community of Pythonistas)