How do you start adding unit tests to your Python code? Can the built-in unittest framework cover most or all of your needs? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We dig into a recent tutorial by Leodanis Pozo Ramos about writing unit tests using Python’s unittest. The tutorial covers organizing your tests, exploring assert methods, creating test fixtures, and debugging failing tests.
We explore a collection of Python data visualizations and tutorials from the Python Graph Gallery. The website features hundreds of charts and graphs built using popular plotting libraries. Each chart type features a foundational tutorial that introduces the structure and application.
We also share several other articles and projects from the Python community, including a news roundup, the new REPL coming in Python 3.13, a pytest daemon to 10X test iteration speed, a discussion about software friction, a Raspberry Pi document scanner, and a project for controlling time per iteration loop.
Course Spotlight: Building a Python GUI Application With Tkinter)
In this video course, you’ll learn the basics of GUI programming with Tkinter, the de facto Python GUI framework. Master GUI programming concepts such as widgets, geometry managers, and event handlers. Then, put it all together by building two applications: a temperature converter and a text editor.
Topics:
00:00:00 - Introduction
00:02:08 - Python Software Foundation Board Election Dates for 2024
00:02:35 - 2023 PSF Annual Impact Report
00:03:03 - Python’s unittest
: Writing Unit Tests for Your Code
00:09:41 - What’s New in Python 3.13
00:10:38 - The New REPL in Python 3.13
00:13:39 - Best Python Chart Examples
00:15:27 - Animation with text that highlights important events
00:16:39 - Sankey Diagram with Python and Plotly
00:18:55 - Video Course Spotlight
00:20:25 - Pytest Daemon: 10X Local Test Iteration Speed
00:23:58 - Software Friction
00:35:41 - A Raspberry Pi Document Scanner
00:39:00 - pacemaker: For Controlling Time Per Iteration Loop in Python
00:41:55 - Thanks and goodbye
News:
Show Links:
Python’s unittest
: Writing Unit Tests for Your Code) – In this tutorial, you’ll learn how to use the unittest framework to create unit tests for your Python code. Along the way, you’ll also learn how to create test cases, fixtures, test suites, and more.
What’s New in Python 3.13) – Python 3.13 has gone into beta, which means the feature freeze is now in place. This is the official listing of the new features in 3.13. This release includes changes to the REPL, new typing features, experimental support for disabling the GIL, dead battery removal, and more.
The New REPL in Python 3.13) – Python 3.13 just hit feature freeze with the first beta release, and it includes a host of improvements to the REPL. Automatic indenting, block-level editing, and more make the built-in REPL more powerful and easier to use.
Animation with text that highlights important events - Python Graph Gallery)
Sankey Diagram with Python and Plotly - Python Graph Gallery)
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.
Discussion:
Projects:
Additional Links:
unittest — Unit testing framework — Python 3.12.3 documentation)
Sankey Diagrams – A Sankey diagram says more than 1000 pie charts)
Level up your Python skills with our expert-led courses:
Support the podcast & join our community of Pythonistas)