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

Code Reviews, Polars, PSF Communication Manager, and More

Tuesday, December 12, 2023

Exploring Code Reviews in Python and Automating the Process #607 – DECEMBER 12, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo Exploring Code Reviews in Python and Automating the Process What goes

Advent of Code, Thread Pools, Jupyter AI, and More

Tuesday, December 5, 2023

Advent of Code: Solving Puzzles With Python #606 – DECEMBER 5, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo Advent of Code: Solving Puzzles With Python Advent of Code is an online advent calendar

Inline Dependencies, Conway's Game of Life, Bug Categories, and More

Tuesday, November 28, 2023

Inline Dependencies for Small Python Scripts #605 – NOVEMBER 28, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo Inline Dependencies for Small Python Scripts Sabs wanted the ability to specify

Learning Python in the Age of AI, Cores Dev Using Typing, Creating A Debugger, and More

Tuesday, November 21, 2023

Learning Python During an AI Revolution #604 – NOVEMBER 21, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo Learning Python During an AI Revolution Has the current growth of artificial intelligence

SciPy Builds, Packaging Tools, Document with ChatGPT, and More

Tuesday, November 14, 2023

SciPy Builds on Windows Are a Minor Miracle #603 – NOVEMBER 14, 2023 VIEW IN BROWSER The PyCoder's Weekly Logo SciPy Builds on Windows Are a Minor Miracle Moving SciPy to Meson meant finding a

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