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

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.

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.

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

Django 4.0 Alpha 1 Released
See the full changelog here.

Release Highlights for scikit-learn 1.0


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

Zappa Is No Longer Maintained

Python Jobs

Senior Python Engineer @ Moody's AI & ML Center of Excellence

Senior Software Engineer

Senior Backend Software Engineer

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

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

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.

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.

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.

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.

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

Gaming in Python: PyGame vs Arcade vs PyGame Zero

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

MPLG: Matplotlib GUI, Design Plots Visually and Export as Python Code

PDM: Python Package Manager With PEP 582 Support

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.