Issue #480

Python Typeclasses, Custom DRF Permissions Classes, How to Count in Python, and More

July 6, 2021

Python Typeclasses, Custom DRF Permissions Classes, How to Count in Python, and More
#480 – JULY 6, 2021 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Typeclasses in Python
Sometimes you need to change the behavior of a function based on the type of argument passed to it. This is a classic example of polymorphism in programming. In this article, you’ll learn how this is typically done in Python, compare that to polymorphism in other languages, and see how the new classes library can make the whole process easier.
NIKITA SOBOLEV • Shared by Nikita Sobolev

Custom Permission Classes in Django REST Framework
One of the great things about Django REST Framework (DRF) is how easy it is to be productive with the built-in API views and permission classes. But sometimes you need a bit more control than the built-in objects allow. This article walks you through how to create and use custom permission classes in DRF so that you can have complete control over how permissions work in your REST API.
TESTDRIVEN.IO • Shared by Špela Giacomelli (aka GirlLovesToCode)

Monitor Your Python Applications’ Performance in Real Time with Datadog APM
Pinpoint hard-to-reproduce problems in your production code without affecting your app’s performance with Datadog’s Continuous Profiler. Locate which functions (or lines of code) consume the most resources, such as CPU and memory and optimize for a better app experience. Try Datadog APM free →
DATADOGsponsor

Python’s Counter: The Pythonic Way to Count Objects
In this step-by-step tutorial, you’ll learn how to use Python’s Counter to count several repeated objects at once. You’ll also learn how to use Counter objects to enhance other computations that you do in Python.
REAL PYTHON

TLDR Newsletter: Byte Sized News for Techies
TLDR is a daily, curated newsletter with links and TLDRs of the most interesting stories in tech, science, and programming.
TLDR.TECH sponsor

Django Security Releases Issued: 3.2.5 and 3.1.13
DJANGO SOFTWARE FOUNDATION


Discussions


Why is a, b = b, a not always equivalent to b, a = a, b?
In Python you can swap the values of two variables without creating a temporary variable. So, if you have two variables a = 1 and b = 2, you can swap their values using a, b = b, a. Now a has the value 2 and b has the value 1. So shouldn’t b, a = a, b do the same thing? In most cases, it will, but one user on Stack Overflow found an instance where they don’t, and the explanation gets into the nitty-gritty about how assignments are evaluated.
STACK OVERFLOW


Python Jobs


Software Engineer (Remote)
CLOSE

Backend Software Engineer (Remote)
TESSIAN

Python Web Developer (Los Angeles, CA, USA)
PREMIERE DIGITAL SERVICES

Senior Software Engineer (New York, NY, USA)
TRUVERIS

More Python Jobs >>>


Articles & Tutorials


Coherent Python and PostgreSQL Enums Using SQLAlchemy
An Enumlets you restrict variables to a set of constants. You can use them to map values that would typically be strings to integer constants, which helps reduce human error due to misspellings. SQLAlchemy also supports enums for use with your database layer. This article shows you how to generate an SQLAlchemy enum from a Python Enum instance so that your data can live in a single place and be shared between the Python and database layers of your application.
BRENDAN LE

Parameterizing and Automating Jupyter Notebooks With Papermill
Jupyter Notebooks are a great way to create reproducible experiments and data analysis, but sometimes you want to alter parameters used in the notebook to see how the results change. One way to do that is with the papermill package. Using papermill, you can execute a notebook with new parameters straight from the command line.
MATT WRIGHT

The Ultimate Guide to Cardinality for Observability
Cardinality is an unavoidable consequence of scale that can’t be solved by simply throwing more resources at it. This guide will help you understand what it is, why it impacts observability, as well as how to work with, and around the limitations of high-cardinality performance data →
LIGHTSTEPsponsor

Securing Your Python Software Supply Chain With Dustin Ingram
How well do you know your software supply chain? When you PIP install a package, what steps can you take to minimize the risk of installing something malicious? This week on the Real Python Podcast, we have Dustin Ingram, a director of the Python Software Foundation (PSF) and a maintainer of the Python Package Index (PyPI).
REAL PYTHON podcast

How to Handle JWTs in Python
JavaScript Web Tokens (JWTs) are used to store information about web users. They are compact and can be used to authorize users in APIs. In this article and how to create and verify them in Python using the PyJWT package.
JESSICA TEMPORAL • Shared by Robertino

Get Feedback Faster with YourBase Test Acceleration
YourBase Test Acceleration can reduce testing and compute cost time by up to 90%. You don’t have to replace your CI, your build system, or your version control. Getting started is as easy as a pip install, and you don’t have to share any data.
YOURBASEsponsor

Defining and Calling Python Functions
In this course, you’ll learn how to define and call your own Python function. You’ll also learn about passing data to your function and returning data from your function back to its calling environment.
REAL PYTHON course


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 →

calibre: Official Source Code Repository for the Calibre Ebook Manager
GITHUB.COM/KOVIDGOYAL

luigi: Python Module That Helps You Build Complex Pipelines of Batch Jobs
GITHUB.COM/SPOTIFY

interactive-coding-challenges: 120+ Interactive Python Coding Interview Challenges With Anki Flashcards
GITHUB.COM/DONNEMARTIN

saleor: A Modular, High Performance, Headless E-Commerce Platform
GITHUB.COM/MIRUMEE

plotext: Plotting in the Terminal
GITHUB.COM/PICCOLOMO

pyjwt: JSON Web Token Implementation in Python
GITHUB.COM/JPADILLA

📆🐍 Upcoming Python Events


⋅ Real Python Office Hours (Virtual) July 6, 2021

⋅ PyBirras 2021 (Virtual) July 8, 2021

⋅ SciPy 2021 (Virtual) July 12 to July 19, 2021

⋅ EuroPython 2021 (Virtual) July 26 – August 1, 2021

⋅ PyCon India 2021 (Virtual) September 17 – 20, 2021
Happy Pythoning!
Copyright © 2021 PyCoder’s Weekly, All rights reserved.