Episode 184: PyCoder's Weekly 2023 Wrap Up
The Real Python Podcast
Dec 22, 2023 38m
It’s been a fascinating year for the Python language and community. PyCoder’s Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2023. Christopher Trudeau is back on the show this week to help wrap up everything by sharing some highlights and Python trends from across the year.
Christopher shares the top five links explored by PyCoder’s readers. We also dig into trends we noticed across all the articles and stories this year, including removing dead batteries from the standard library, continuing the effort to speed up Python, using Rust code in libraries, and moving away from microservices.
We hope you enjoy this review! We look forward to bringing you an upcoming year full of great Python news, articles, topics, and projects.
Course Spotlight: Python Basics: Building Systems With Classes
In this video course, you’ll learn how to work with classes to build complex systems in Python. By composing classes, inheriting from other classes, and overriding class behavior, you’ll harness the power of object-oriented programming (OOP).
Topics:
- 00:00:00 – Introduction
- 00:02:21 – Python 3.13.0 Alpha 2 Is Now Available
- 00:02:46 – Welcoming the Supporting Developer in Residence
- 00:03:25 – Django 5.0 Released
- 00:03:34 – Django Ninja 1.0 Released
- 00:04:11 – Top Five PyCoder Links
- 00:05:00 – Python 3.12: Cool New Features for You to Try
- 00:05:27 – Speeding Up Your Code When Multiple Cores Aren’t an Option
- 00:05:46 – Learning About Code Metrics in Python With Radon
- 00:06:07 – Python 3.12 Preview: More Intuitive and Consistent F-Strings
- 00:06:28 – Design and Guidance: Object-Oriented Programming in Python
- 00:07:49 – Python 3.12: What Didn’t Make the Headlines
- 00:11:34 – Python 3.13 Removes 20 Stdlib Modules
- 00:13:32 – Missing Batteries: Essential Libraries You’re Missing Out On
- 00:16:21 – More Batteries Please
- 00:19:19 – Three Python Trends in 2023
- 00:24:36 – Video Course Spotlight
- 00:26:23 – Mojo, a Superset of Python
- 00:27:54 – Why Mojo?
- 00:28:14 – Mojo SDK Released for Linux
- 00:28:19 – Mojo: Head-to-Head With Python and Numba
- 00:29:22 – How We Organize Our Very Large Python Monolith
- 00:34:11 – Python and Folium to Visualize My Outdoor Activities
- 00:37:13 – Thanks and goodbye
News:
- Python 3.13.0 Alpha 2 Is Now Available
- Welcoming the Supporting Developer in Residence
- Django 5.0 Released
- Django Ninja 1.0 Released
Top Five PyCoder Links:
- Python 3.12: Cool New Features for You to Try – In this tutorial, you’ll learn about the new features in Python 3.12. You’ll explore how the new release extends the better error messages and faster code execution found in the previous version, and you’ll try out the improvements to f-strings and type variable syntax.
- Speeding Up Your Code When Multiple Cores Aren’t an Option – Parallelism isn’t the only answer: often you can optimize low-level code to get significant performance improvements.
- Learning About Code Metrics in Python With Radon – Radon is a code metrics tool. This article introduces you to it and explains how you can improve your code based on its measurements.
- Python 3.12 Preview: More Intuitive and Consistent F-Strings – In this tutorial, you’ll preview one of the upcoming features of Python 3.12, which introduces a new f-string syntax formalization and implementation. The new implementation lifts some restrictions and limitations that affect f-string literals in Python versions lower than 3.12.
- Design and Guidance: Object-Oriented Programming in Python – In this video course, you’ll learn about the SOLID principles, which are five well-established standards for improving your object-oriented design in Python. By applying these principles, you can create object-oriented code that is more maintainable, extensible, scalable, and testable.
Topics and 2023 Trends:
- Python 3.12: What Didn’t Make the Headlines – There’s been plenty of coverage about the changes in Python 3.12. This article highlights what fell through the cracks. It talks about performance,
pathlib
improvements, and a few other changes. - Python 3.13 Removes 20 Stdlib Modules – Core developers are busy working on PEP 594, removing dead batteries from Python 3.13. This long post in the discussion forum highlights what work has been completed so far.
- Missing Batteries: Essential Libraries You’re Missing Out On – Even though Python’s standard library comes with batteries included, it’s still missing some essentials. This article covers libraries for debugging, testing, CLI, and more.
- More Batteries Please – This brief opinion piece from Carlton Gibson states why he thinks we need more functionality in the Python standard library rather than less.
- Three Python Trends in 2023 – An opinion piece on three trends likely to attract attention in the Python world in 2023: Python/Rust co-projects, web apps, and more typing. Read on for examples in each category.
- Mojo, a Superset of Python – Mojo is a new programming language that’s a superset of Python. It aims to fix Python’s performance and deployment problems. Jeremy Howard - from fast.ai.
- Why Mojo? – “A backstory and rationale for why we created the Mojo language.” Chris Lattner - from Modular.
- Mojo SDK Released for Linux
- Mojo: Head-to-Head With Python and Numba – This article covers a Mandelbrot-based benchmark of Python, variations of Numba, and the newly available Mojo. Although Mojo is fast, it takes a lot more work than the author expected to translate Python to it, and with the right parameters, Numba still beats it.
- How We Organize Our Very Large Python Monolith – Kraken Technologies is an environmental tech company that does a lot of Python development. One of their applications is a monolith with over 27,000 modules. This article outlines how they keep all of this organized and running.
Project:
- Python and Folium to Visualize My Outdoor Activities – Embark on an expedition of exploration and mapping! Learn how to breathe life into your GPX files and create interactive maps using Python and Folium.
- Python Folium: Create Web Maps From Your Data – Real Python
- Creating Web Maps From Your Data With Python Folium – Real Python
Additional Links:
- Sneaky REST APIs With Django Ninja – Real Python Video Course
- Episode #175: Exploring the New Features of Python 3.12 – The Real Python Podcast
- Python 3 Module of the Week - PyMOTW 3
- Episode #171: Making Each Line of Code Efficient & Python In Excel – The Real Python Podcast
- psf/requests: A simple, yet elegant, HTTP library.
- htmx - high power tools for html