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

#596 – SEPTEMBER 26, 2023 VIEW IN BROWSER
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.
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 →
SEMGREPsponsor

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.IOsponsor

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


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
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

📆🐍 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.
You are receiving this email because you opted in on our website at pycoders.com
Our mailing address: DevCademy Media Inc. · #720-999 West Broadway, Vancouver BC V5Z 1K5, Canada

Unsubscribe | Update Email Address

Older messages

Inheritance, CPython Release Process, Folium, and More

Tuesday, September 19, 2023

Inheritance and Internals: Object-Oriented Coding in Python #595 – SEPTEMBER 19, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo Inheritance and Internals: Object-Oriented Coding in Python In this

Genetic Algorithms, Beautiful QR Codes, Mr Null, and More

Tuesday, September 12, 2023

Playing With Genetic Algorithms in Python #594 – SEPTEMBER 12, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo Playing With Genetic Algorithms in Python A Genetic Algorithm (GA) is an AI technique

Wordle Clone, Polar Histograms, Protocol Buffers, and More

Tuesday, September 5, 2023

Create a Python Wordle Clone With Rich #593 – SEPTEMBER 5, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo Create a Python Wordle Clone With Rich In this step-by-step project, you'll build your

Concurrency, Arguments, Flask, and More

Tuesday, August 29, 2023

Asyncio, Twisted, Tornado, Gevent Walk Into a Bar… #592 – AUGUST 29, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo Asyncio, Twisted, Tornado, Gevent Walk Into a Bar… A good introduction to I/O

Polars, Immortal Objects, Playwright, and More

Tuesday, August 22, 2023

Python Polars: A Lightning-Fast DataFrame Library #591 – AUGUST 22, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo Python Polars: A Lightning-Fast DataFrame Library Welcome to the world of Polars,

You Might Also Like

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your