Issue #596 (Sept. 26, 2023)

#596 – SEPTEMBER 26, 2023

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.
REAL PYTHON course

Learning About Code Metrics in Python With Radon

Radon is a code metrics tool. This article introduces you to it and teaches you how you can improve your code based on its measurements.
MIKE DRISCOLL

You Write Great Python Code but How Do You Know it’s Secure Code

If you’re not a security expert, consider Semgrep. Trusted by Slack, Gitlab, Snowflake, and thousands of engineers, it acts like a security spellchecker for your code. Simply point Semgrep to your code; it identifies vulnerabilities and even checks code dependencies and help you ship secure code →
SEMGREP sponsor

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.
ITAMAR TURNER-TRAURING

Django 5.0 Alpha 1 Released

DJANGO SOFTWARE FOUNDATION

Python 3.12.0 Release Candidate 3 Available

CPYTHON DEV BLOG

Articles & Tutorials

How to Catch Multiple Exceptions in Python

In this how-to tutorial, you’ll learn different ways of catching multiple Python exceptions. You’ll review the standard way of using a tuple in the except clause, but also expand your knowledge by exploring some other techniques, such as suppressing exceptions and using exception groups.
REAL PYTHON

78% MNIST Accuracy Using GZIP in Under 10 Lines of Code

MNIST is a collection of hand-written digits that is commonly used to play with classification algorithms. It turns out that some compression mechanisms can double as classification tools. This article covers a bit of why with the added code-golf goal of a small amount of code.
JAKOBS.DEV

Don’t Get Caught by IDOR Vulnerabilities

Are insecure direct object reference (IDOR) threatening your applications? Learn about the types of IDOR vulnerabilities in your Python applications, how to recognize their patterns, and protect your system with Snyk →
SNYK.IO sponsor

Bypassing the GIL for Parallel Processing in Python

In this tutorial, you’ll take a deep dive into parallel processing in Python. You’ll learn about a few traditional and several novel ways of sidestepping the global interpreter lock (GIL) to achieve genuine shared-memory parallelism of your CPU-bound tasks.
REAL PYTHON

Creating a Great Python DevX

This article talks about the different tools you commonly come across as part of the Python development experience. It gives an overview of black, nox, ruff, Mypy, and more, covering why you should use them when you code your own projects.
SCOTT HOUSEMAN

Why Are There So Many Python Dataframes?

Ever wonder why there are so many ways libraries that have Dataframes in Python? This article talks about the different perspectives of the popular toolkits and why they are what they are.
MAHESH VASHISHTHA

The Protocol Class

typing.Protocol enables type checking in a Java-esque interface like mechanism. Using it, you can declare that a duck-typed class conform to a specific protocol. Read on for details.
PEPIJN BAKKER

What Does if __name__ == "__main__" Mean in Python?

In this video course, you’ll learn all about Python’s name-main idiom. You’ll learn what it does in Python, how it works, when to use it, when to avoid it, and how to refer to it.
REAL PYTHON course

Why & How Python Uses Bloom Filters in String Processing

Dive into Python’s clever use of Bloom filters in string APIs for speedier performance. Find out how CPython’s unique implementation makes it more efficient.
ABHINAV UPADHYAY

Simulate the Monty Hall Problem in Python

Write a Python simulation to solve this classic probability puzzle that has stumped mathematicians and Nobel Prize winners!
DATASCHOOL.IO • Shared by Kevin Markham

Death by a Thousand Microservices

The software industry is learning once again that complexity kills and trending back towards monoliths and larger services.
ANDREI TARANCHENKO

How to Test Jupyter Notebooks With Pytest and Nbmake

Tutorial on how to use the pytest plugin nbmake to automate end-to-end testing of notebooks.
SEMAPHORECI.COM • Shared by Larisa Ioana

Projects & Code

panther: Web Framework for Building Async APIs

GITHUB.COM/ALIRN76

Clientele: Loveable Python API Clients From OpenAPI Schemas

GITHUB.COM/PHALT • Shared by Paul Hallett

mpire: Easy, but Faster Multiprocessing

GITHUB.COM/SYBRENJANSEN

leaky_ledger: A Fake Bank to Practice Finding Vulnerabilities

GITHUB.COM/ZCHTODD

reader: A Python Feed Reader Library

GITHUB.COM/LEMON24 • Shared by Adrian

Events

Weekly Real Python Office Hours Q&A (Virtual)

September 27, 2023
REALPYTHON.COM

SPb Python Drinkup

September 28, 2023
MEETUP.COM

PyCon India 2023

September 29 to October 3, 2023
PYCON.ORG

PythOnRio Meetup

September 30, 2023
PYTHON.ORG.BR

PyConZA 2023

October 5 to October 7, 2023
PYCON.ORG

PyCon ES Canarias 2023

October 6 to October 9, 2023
PYCON.ORG

Django Day Copenhagen 2023

October 6 to October 7, 2023
DJANGODAY.DK

DjangoCongress JP 2023

October 7 to October 8, 2023
DJANGOCONGRESS.JP

Happy Pythoning!
This was PyCoder’s Weekly Issue #596.
View in Browser »

[ Subscribe to 🐍 PyCoder’s Weekly 💌 – Get the best Python news, articles, and tutorials delivered to your inbox once a week >> Click here to learn more ]

Source:: PyCoder’s