Issue #608

Hangman, TYPE_CHECKING, match, and More

Dec. 19, 2023

Hangman, TYPE_CHECKING, match, and More
#608 – DECEMBER 19, 2023 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Build a Hangman Game With Python and PySimpleGUI
In this step-by-step tutorial, you’ll learn how to write the game of hangman in Python with a PySimpleGUI-based interface. You’ll see how to structure the game, build its GUI, and program the game’s logic and rules.
REAL PYTHON

Why if TYPE_CHECKING?
“Typechecking is brittle yet important”, learn more about where it works and where it doesn’t and what that might mean for your code.
VICKI BOYKIS

Build Invincible Apps With Temporal’s Python SDK
Get an introduction to Temporal’s Python SDK by walking through our easy, free tutorials. Learn how to build Temporal applications using Python, including building a data pipeline Workflow and a subscription Workflow. Get started here →
TEMPORALsponsor

Real-World match/case
The match statement was added in Python 3.10. This article covers a real-world example use case and shows its power.
NED BATCHELDER

Call for Proposals: Pycascades-2024
PRETALX.COM

Python Memory-Safe Says Latest CISA Recommendations
SETH LARSON

Python 3.11.7 Released
CPYTHON DEV BLOG


Python Jobs


Senior Python Architect and Tech Lead
SIX FEET UP 📍 AMERICA

Software Engineer - Intern (Summer 2024)
CAUSEWAY CAPITAL MANAGEMENT 📍 DALLAS, TX, USA

Python Tutorial Editor
REAL PYTHON 📍 ANYWHERE

More Python Jobs >>>


Articles & Tutorials


Getting the First Match From a Python List or Iterable
In this video course, you’ll learn about the best ways to get the first match from a Python list or iterable. You’ll look into two different strategies, for loops and generators, and compare their performance. Then you’ll finish up by creating a reusable function for all your first matching needs.
REAL PYTHON course

Pytest Daemon: 10X Local Test Iteration Speed
Discord has a large Python monolith with lots of imports, which now takes 13 seconds to start up. On the server that’s not a problem but to run a test it is. Ruby’s solution is to have a daemon that hot loads a test on a process that already has the imports completed.
RUBY FEINSTEIN

5 Ways to Flatten a List of Lists
Flattening a list-of-lists is the process of taking each of the inner lists’ contents and putting them together in a single list. There are several ways of attacking this problem in Python, and this article shows 5 methods ranked from worst to best.
RODRIGO GIRÃO SERRÃO

Django: Sanitize Incoming HTML Fragments With nh3
Allowing users to input HTML in comments or blog posts is problematic, it can lead to exploits on your site. For years the Django community used django-bleach, but since its deprecation, Adam has been using nh3, a Rust-based HTML sanitizer.
ADAM JOHNSON

Hide Those Terminal Secrets!
Michael Kennedy of Talk Python fame does a lot of screen casts, and one of his concerns is accidentally exposing data from a terminal when doing so. This quick article covers the Warp terminal’s “redaction” feature for just this situation.
MICHAEL KENNEDY

How to Deploy Reflex Apps to Fly.io
Reflex is a recent entrant to the world of Python web frameworks. Fly.io is a hosting provider that lets you host your applications in production really quickly. This articles shows you how to deploy Reflex applications on Fly.io.
SIDDHANT GOEL • Shared by Siddhant Goel

Serialize Your Data With Python
In this in-depth tutorial, you’ll explore the world of data serialization in Python. You’ll compare and use different data serialization formats, serialize Python objects and executable code, and handle HTTP message payloads.
REAL PYTHON

You Are Never Taught How to Build Quality Software
Learning how to build quality software is not part of computer science education. How do we learn it? See also the associated HN discussion.
FLORIAN BELLMANN

Use “pip install” Safely
The correct extra arguments to pip install can make it less risky to execute. Learn what arguments James suggests and how to use each of them.
JAMES BENNETT

Use Unittest’s subtest Helper
When iterating over multiple arguments in testing a function, the subtest feature of the unittest module helps you track which part failed.
JAMES BENNETT

Create a Subscription SaaS Application With Django and Stripe
All the technical details of creating a subscription SaaS business using the Python-based Django web framework and Stripe payment processor.
SAAS PEGASUS

The Key to the key Parameter in Python
A parameter named key is present in several Python functions, such as sorted(). This article explores what it is and how to use it.
STEPHEN GRUPPETTA • Shared by Stephen Gruppetta

CPython Dynamic Dispatch Internals
Just how many lines of C does it take to execute a + b in Python? This article goes into detail about the CPython internals.
ABHINAV UPADHYAY


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 →

python-skyfield: Elegant Astronomy for Python
GITHUB.COM/SKYFIELDERS

Above: Invisible Network Protocol Sniffer
GITHUB.COM/WEARECASTER

mlx: MLX: An Array Framework for Apple Silicon
GITHUB.COM/ML-EXPLORE

The Eval Game: Test Your Python Skills
OSKAERIK.GITHUB.IO • Shared by Oskar Eriksson

kanban-python: Kanban Terminal App Written in Python
GITHUB.COM/ZALOOG

📆🐍 Upcoming Python Events


Weekly Real Python Office Hours Q&A (Virtual)
December 20, 2023

PyData Bristol Meetup
December 21, 2023

PyLadies Dublin
December 21, 2023

Python Sheffield
December 26, 2023

PyCon Somalia 2023
December 27 to December 29, 2023
Happy Pythoning!
Copyright © 2023 PyCoder’s Weekly, All rights reserved.