Episode 145: Creating a Python Wordle Clone & Testing Environments With Nox
The Real Python Podcast
Feb 17, 2023 59m
Would you like to practice your Python skills while building a challenging word game? Have you been wanting to learn more about creating command-line interfaces and making them colorful and interactive? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects.
Episode Sponsor:
We share a recent Real Python step-by-step project about creating a clone of Wordle. In the project, you’ll practice building a terminal application, validating user input, and refactoring code into functions.
Christopher shares an article that compares two popular testing tools, Nox and Tox. He discusses how each framework approaches test environment configuration and why the author leans toward using Nox’s Python decorator–based format.
We share several other articles and projects from the Python community, including a news update, a guide to trying out code and ideas quickly with the Python REPL, a PEP about requiring virtual environments by default, a discussion about lessons learned in twenty years as a software engineer, a project for a spreadsheet GUI inside of JupyterLab notebooks, and adding C-style for
loops to Python.
Course Spotlight: Getters and Setters in Python
In this video course, you’ll learn what getter and setter methods are, how Python properties are preferred over getters and setters when dealing with attribute access and mutation, and when to use getter and setter methods instead of properties in Python.
Topics:
- 00:00:00 – Introduction
- 00:02:21 – Django Security Releases Issued
- 00:02:43 – PSF Is Hiring a Security Developer-in-Residence
- 00:03:44 – Python 3.11.2, Python 3.10.10 and 3.12.0 alpha 5 are available
- 00:04:02 – Build a Wordle Clone With Python and Rich
- 00:10:05 – Why I Like Nox
- 00:16:44 – Sponsor: Anaconda Cloud
- 00:17:26 – PEP 704: Require Virtual Environments by Default
- 00:27:17 – The Python Standard REPL: Try Out Code and Ideas Quickly
- 00:33:08 – Video Course Spotlight
- 00:34:35 – 20 Things I’ve Learned in My 20 Years as a Software Engineer
- 00:47:50 – Mito: A Spreadsheet Inside Your JupyterLab Notebooks
- 00:51:37 – How I Added C-Style for-Loops to Python
- 00:58:08 – Thanks and goodbye
News:
- Django Security Releases Issued: 4.1.6, 4.0.9, and 3.2.17
- PSF Is Hiring a Security Developer-in-Residence
- Python Insider: Python 3.11.2, Python 3.10.10 and 3.12.0 alpha 5 are available
Show Links:
- Build a Wordle Clone With Python and Rich – In this step-by-step project, you’ll build your own Wordle clone with Python. Your game will run in the terminal, and you’ll use Rich to ensure your word-guessing app looks good. Learn how to build a command-line application from scratch and then challenge your friends to a wordly competition!
- Why I Like Nox – Both Nox and Tox are multi-environment testing tools. This opinion piece by Hynek compares and contrasts them and explains why he is increasingly using Nox.
- PEP 704: Require Virtual Environments by Default
- The Python Standard REPL: Try Out Code and Ideas Quickly – In this tutorial, you’ll learn how to use the Python standard REPL (Read-Eval-Print Loop) to run your code interactively. This tool will allow you to test new ideas, explore and experiment with new tools and libraries, refactor and debug your code, try out examples, and more.
Discussion
- 20 Things I’ve Learned in My 20 Years as a Software Engineer – Justin writes a list of things he’s learned over his past twenty years in development. He starts by stating how context is important and that his lessons are from small teams that emphasize productivity and are tool agnostic.
- The 10x Programmer Myth - Simple Thread
Projects:
- Mito: A Spreadsheet Inside Your JupyterLab Notebooks
- How I Added C-Style for-Loops to Python – Ever wanted a C-style
for
loop in Python? No? Well, you can have one anyway. See how Tushar implementedwith for (i := var(0), i < 10, i + 2):
Additional Links:
- Alpha-Omega - Open Source Security Foundation
- Welcome to Nox - Nox 2022.11.21 documentation
- Classifying Python Virtual Environment Workflows
- PEP 704 - Require virtual environments by default for package installers - Discourse on Python.org
- Creating Virtual Environments - Python Packaging User Guide
- Python Virtual Environments: A Primer – Real Python
- JupyterLab for an Enhanced Notebook Experience