Issue #596

SOLID OOP, Code Metrics, Speed Up Your Code, and More

Sept. 26, 2023

SOLID OOP, Code Metrics, Speed Up Your Code, and More
The PyCoder’s Weekly Logo
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.

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.

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 →

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.

Django 5.0 Alpha 1 Released

Python 3.12.0 Release Candidate 3 Available

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.

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.

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 →

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.

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.

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.

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.

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.

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.

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.

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

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 →

panther: Web Framework for Building Async APIs

Clientele: Loveable Python API Clients From OpenAPI Schemas
GITHUB.COM/PHALT • Shared by Paul Hallett

mpire: Easy, but Faster Multiprocessing

leaky_ledger: A Fake Bank to Practice Finding Vulnerabilities

reader: A Python Feed Reader Library
GITHUB.COM/LEMON24 • Shared by Adrian

📆🐍 Upcoming Python Events

Weekly Real Python Office Hours Q&A (Virtual)
September 27, 2023

SPb Python Drinkup
September 28, 2023

PyCon India 2023
September 29 to October 3, 2023

PythOnRio Meetup
September 30, 2023

PyConZA 2023
October 5 to October 7, 2023

PyCon ES Canarias 2023
October 6 to October 9, 2023

Django Day Copenhagen 2023
October 6 to October 7, 2023

DjangoCongress JP 2023
October 7 to October 8, 2023
Happy Pythoning!
Copyright © 2023 PyCoder’s Weekly, All rights reserved.