Issue #600

FastAPI Middleware, OOP, 3.12 Performance, and More

Oct. 24, 2023

FastAPI Middleware, OOP, 3.12 Performance, and More
#600 – OCTOBER 24, 2023 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Building Custom Middleware in FastAPI
Middleware in a web stack framework is able to intercept all requests allowing you to write common request processing code across all your views. This article shows you how to write middleware for FastAPI.
PRINCEWILL INYANG

Python Basics Exercises: Object-Oriented Programming
In this Python Basics Exercises course, you’ll review OOP, or object-oriented programming. You’ll practice creating classes, using classes to create new objects, and instantiating classes with attributes.
REAL PYTHON course

Top Considerations For Addressing Risks in the OWASP Top 10 For LLMs
OWASP recently created a top 10 LLM security risks list based on the views of nearly 500 experts, including Snyk. Take a deep dive into the risks, actionable insights, and best practices to consider for protecting against this list of highest risk issues →
SNYK.IOsponsor

Python 3.11 vs Python 3.12: Performance Testing
Włodzimierz ran over 90 benchmarks on both Python 3.11 and 3.12 on two different machines. This post shows the resulting data, and how the choice of processor can impact whether 3.11 or 3.12 is faster.
WŁODZIMIERZ LEWONIEWSKI

Nominations for 2023 Malcolm Tredinnick Memorial Prize
DJANGO SOFTWARE FOUNDATION

Python 3.13.0 Alpha 1 Is Now Available
CPYTHON DEV BLOG


Discussions


Discussion on PEP 730: Adding iOS as a Supported Platform
PYTHON.ORG


Articles & Tutorials


Welcoming PyPI’s Safety & Security Engineer Mike Fiedler
You may remember a recent Python Package Index (PyPI) announcement about hiring a full-time security engineer. We’ve also mentioned several current security initiatives from PyPI. This week on the show, we talk with Mike Fiedler about accepting this new role and securing accounts on PyPI.
REAL PYTHON podcast

Great Resources a Beginner Might Not Find So Easily
Are you having trouble making the modules work together in a larger project? Have you tried looking at popular projects as models, but were put off by their size and scope, or found it hard to see why they did the things they did? Resources about this do exist, but they’re scattered all over …unless you know where to look.
LEMON24 • Shared by death and gravity

We Have to Talk About Flask
The most recent release of Flask and Werkzeug have introduced backwardly incompatible changes that are effecting popular add-ons. Miguel writes about how this is a common occurrence and why it keeps happening.
MIGUEL GRINBERG

Bullets of Vaguely Silvery Hue
Fred Brooks wrote “No Silver Bullet” in the mid-1980’s, explaining why the massive improvements in hardware speed were not reflected as a massive improvement in software productivity. This article is still argued about today, and James deconstructs it, walking you through what is still relevant.
JAMES BENNETT

Innovate Faster With Ready-Made Edge AI Reference Kits
Build AI solutions that run efficiently at the edge. Raise throughput, lower latency, and speed up AI inference with the OpenVINO toolkit and our Edge AI Reference Kits.
INTEL CORPORATIONsponsor

Security Developer-in-Residence 2023 Q3 Report
This report is by the new Security Developer-in-Residence Seth Larson and summarizes all the work he has been involved with in Q3 of 2023. It talks about Python being authorized as a CVE Numbering Authority, the CPython vulnerability database, OpenSSF Day, and more.
PYTHON SOFTWARE FOUNDATION

Random Thoughts 15 Years Into Software Engineering
Ryan shares his thoughts, in no particular order, on the big picture of writing software at a variety of companies over his 15 year career. They range from “Try not to think in absolutes” to “Aggressively manage scope”. Read on for his insights.
RYAN O'NEILL

Replacing a String in Python
In this video course, you’ll learn how to remove or replace a string or substring. You’ll go from the basic string method .replace() all the way up to a multi-layer regex pattern using the sub() function from Python’s re module.
REAL PYTHON course

Deploying a Django + Nginx Application to a VPS With Ansible
This article walks you through the process of deploying a Django-on-Nginx application to Amazon Lightsail. It uses Docker to build and containerise the app and Ansible to automate the deployment.
VUYISILE NDLOVU

Progress on No-GIL CPython
This post sums up the progress and thinking on the no-GIL work in Python. It summarizes some of the PEPs involved as well as active conversations in the discussion groups.
JAKE EDGE

Python Gotcha: Comparisons
Comparing two numerical variables in Python can have surprising results if you aren’t aware of some common gotchas. This post covers a couple of the common ones.
ANDREW WEGNER

Developing an Asynchronous Task Queue in Python
This tutorial looks at how to implement several asynchronous task queues using the Python multiprocessing library and Redis.
MICHAEL HERMAN


Projects & Code


Brought to you by Real Python for Teamssponsor
Online Python training created by a community of experts. Give your team the real-world Python skills they need to succeed →

A Curated List of Free Courses & Certifications
GITHUB.COM/CLOUDCOMMUNITY

vizro: Create Modular Data Visualization Applications
GITHUB.COM/MCKINSEY

selenium-python-helium: Write Less Selenium Code
GITHUB.COM/MHERRMANN

faststream: Build Asynchronous Stream Services
GITHUB.COM/AIRTAI

📆🐍 Upcoming Python Events


Weekly Real Python Office Hours Q&A (Virtual)
October 25, 2023

PackagingCon 2023
October 26 to October 29, 2023

SPb Python Drinkup
October 26, 2023

PyCon APAC 2023
October 27 to October 29, 2023

PythOnRio Meetup
October 28, 2023

Py Café 02
October 28, 2023

Python Brasil 2023
October 30 to November 6, 2023
Happy Pythoning!
Copyright © 2023 PyCoder’s Weekly, All rights reserved.