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

New Alpine.js Sort plugin, Laravel 11.5, and more - №510

Sunday, April 28, 2024

Your Laravel week in review ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

This Week's Daily Tip Roundup

Sunday, April 28, 2024

Missed some of this week's tips? No problem. We've compiled all of them here in one convenient place for you to enjoy. Happy learning! iPhoneLife Logo View In Browser Your Tip of the Day is

DeveloPassion's Newsletter #164 - A Thousand Fans

Sunday, April 28, 2024

Edition 164 of my newsletter, discussing Knowledge Management, Knowledge Work, Zen Productivity, Personal Organization, and more! Sébastien Dubois DeveloPassion's Newsletter DeveloPassion's

Nobody Likes a Know-It-All: Smaller LLMs are Gaining Momentum

Sunday, April 28, 2024

Phi-3 and OpenELM, two major small model releases this week. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Retro Recomendo: Music

Sunday, April 28, 2024

Recomendo - issue #408 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Your Phone’s Other Number 📱

Saturday, April 27, 2024

Let's talk about your phone's IMEI number. Here's a version for your browser. Hunting for the end of the long tail • April 27, 2024 Today in Tedium: As you may know, Tedium is a blog and/or

🕹️ How to Play Retro Games for Free on iPhone — Why I Can't Live Without an eReader

Saturday, April 27, 2024

Also: Anker MagGo (Qi2) Power Bank Review, and More! How-To Geek Logo April 27, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your inbox by

Weekend Reading — The Bob Ross of programming

Saturday, April 27, 2024

This week we use coffee tasting as our design practice, get as close to and as far away from the metal as possible, find an easier way to write documentation, discover why Google Search is getting so

Issue #538: All the Jam entries, Panthera 2, and Tristram

Saturday, April 27, 2024

Weekly newsletter about HTML5 Game Development. Is this email not displaying correctly? View it in your browser. Issue #538 - April 26th 2024 If you have anything you want to share with the HTML5 game

Daily Coding Problem: Problem #1424 [Easy]

Saturday, April 27, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Microsoft. Implement a URL shortener with the following methods: shorten(url) , which