Issue #492

Python GIL Deep-Dive, Django 4.0 is Coming, Python as a Build Tool, and More

Sept. 28, 2021

Python GIL Deep-Dive, Django 4.0 is Coming, Python as a Build Tool, and More
#492 – SEPTEMBER 28, 2021 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Python Behind the Scenes: The GIL and Its Effects on Python Multithreading
GIL stands for the Global Interpreter Lock, and its job is to make the CPython interpreter thread-safe. This post tells you more about non-obvious effects of the GIL. Along the way, you’ll see what the GIL really is, why it exists, how it works, and how it’s going to affect Python concurrency in the future.
VICTOR SKVORTSOV

The Django Template Language: Tags and Filters
Django templates use their own mini-language that’s inspired by Python. This tutorial covers Django template tags and filters, explaining how to compile and use templates. It covers conditional blocks, looping, and inheritance in tags as well as filters for strings and filters for lists.
REAL PYTHON

Receive a $5 Donation to the OSS of Your Choice When You Start Your Free Scout APM Trial Today
Scout is an APM designed to provide the data insights necessary for any developer to become a performance pro. Find and fix observability issues before the customer ever sees them by connecting your error reporting and APM data on one platform, with Scout’s new error monitoring feature add-on →
SCOUT APMsponsor

New Testing Features in Django 4.0
Django 4.0 had its first alpha release last week and the final release should be out in December. It contains an abundance of new features, which you can check out in the release notes. This post looks at the changes to testing in a bit more depth.
ADAM JOHNSON

4 Things Tutorials Don’t Tell You About PyPI
“Although it’s well known PyPI is unforgiving for good reasons, the package publishing process is not as straightforward as the tutorials make it seem. I run into a few unexpected minor bumps none of the guides mention.”
PAOLOA AMOROSO

Django 4.0 Alpha 1 Released
See the full changelog here.
DJANGO SOFTWARE FOUNDATION

Release Highlights for scikit-learn 1.0
SCIKIT-LEARN.ORG


Discussions


Stack Overflow: Python Just Surpassed Java as the 2nd Language With the Highest Number of Questions
REDDIT

Zappa Is No Longer Maintained
REDDIT


Python Jobs


Senior Python Engineer @ Moody's AI & ML Center of Excellence (New York, NY, USA)
MOODY'S

Senior Software Engineer (Washington D.C., USA)
QUORUM

Senior Backend Software Engineer (Anywhere)
CLAY

More Python Jobs >>>


Articles & Tutorials


Python as a Build Tool
“Normally, when starting a Java project (or any other programming project, really), you don’t want to reinvent the wheel. You go with the de-facto build system, folder structure, environment, etc. The ones that the rest of the world is using. Yet, both Skija and JWM are built using Python scripts instead of more traditional Ant/Maven/Gradle/SBT. Why? Let’s find out!”
NIKITA TONSKY

Measuring Your Python Learning Progress
Where are you along the path of learning Python? Do you feel like you’re making progress? What are ways you can put the learning path into a more precise focus? This week on the show, a discussion with Martin Breuss about his recent article “How Long Does It Take to Learn Python?”
REAL PYTHON podcast

What Is Pathlib?
The pathlib module was introduced in Python 3.4 and makes working with filesystem paths easier by implementing a Pythonic, OS-agnostic way to manipulate and interact with paths. In this quick video, Nafiul, developer advocate for PyCharm, shows how to use the library and some of its popular APIs.
JETBRAINSsponsor video

Rock, Paper, Scissors With Python: A Command Line Game
In this course, you’ll learn to program rock paper scissors in Python from scratch. You’ll learn how to take in user input, make the computer choose a random action, determine a winner, and split your code into functions.
REAL PYTHON course

Reverse Strings in Python: reversed(), Slicing, and More
In this step-by-step tutorial, you’ll learn how to reverse strings in Python by using available tools such as reversed() and slicing operations. You’ll also learn about a few useful ways to build reversed strings by hand.
REAL PYTHON

Understand Django: User File Use
Maybe your Django app needs to handle files from users like profile pictures. Accepting files from others is tricky to do safely. In this article, you’ll see the tools that the framework provides to manage files safely.
MATT LAYMAN • Shared by Matt Layman

Django REST Framework Views - APIViews
Django REST Framework (DRF) has its own flavor of views that inherit from Django’s View class. This article explores the most basic of the views: APIView. APIView is the base for every other DRF view.
ŠPELA GIACOMELLI • Shared by Špela Giacomelli

Why Does Black Insist on Reformatting My Entire Project?
Why Black recommends adopting it by reformatting your entire codebase in one go and refuses to do “region reformatting.” Thoughts from the creator for the popular Python auto-formatter.
ŁUKASZ LANGA

DataStax Astra DB – Built on Apache Cassandra. Get 80 Gigabytes of Storage Free Every Month
Need global scale on a startup budget? DataStax Astra DB is a multi-cloud DBaaS built on Apache Cassandra. Painless APIs, always free for developers, and no credit card required.
DATASTAXsponsor

Split, Merge and Rotate PDF Documents Using borb
Split, merge and rotate PDF documents using borb, the open-source pure Python PDF library.
JORIS SCHELLEKENS • Shared by Joris Schellekens

Type Check Your Django App
How to add gradual typing to your Django app, focusing on Django views and Django models.
KRACEKUMAR RAMARAJU • Shared by Kracekumar Ramaraju

Unravelling the async with Statement
BRETT CANNON

Gaming in Python: PyGame vs Arcade vs PyGame Zero
SHANTNU TIWARI


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 →

logparser: Command Line Parser for Common Log Format
GITHUB.COM/LUCIANMARIN

MPLG: Matplotlib GUI, Design Plots Visually and Export as Python Code
EVERYDAYANCHOVIES.GITHUB.IO

PDM: Python Package Manager With PEP 582 Support
FMING.DEV

clang-format: Code Formatter Python Bindings
GITHUB.COM/SSCIWR • Shared by Henry Schreiner

hist: Pythonic Notebook-Ready Histograms Built on boost-histogram
GITHUB.COM/SCIKIT-HEP • Shared by Henry Schreiner

boost-histogram: Powerful Histogram Objects for Python
GITHUB.COM/SCIKIT-HEP • Shared by Henry Schreiner

📆🐍 Upcoming Python Events


⋅ Real Python Office Hours (Virtual) September 29, 2021

⋅ PyConTW 2021 October 2 to October 4, 2021

⋅ Melbourne Python Users Group, Australia October 4, 2021

⋅ Introduction to the Python Programming Language (In Persian) October 5, 2021

⋅ PyCon ZA 2021 October 7 to October 9, 2021
Happy Pythoning!
Copyright © 2021 PyCoder’s Weekly, All rights reserved.