Real Python Podcast Episode #118 Title Artwork

Episode 118: Creating Documentation With MkDocs & When to Use a Python dict

The Real Python Podcast

Jul 22, 2022 54m

How do you start building your project documentation? What if you had a tool that could do the heavy lifting and automatically write large portions directly from your code? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects.

Episode Sponsor:

We talk about a Real Python step-by-step project from Martin Breuss about MkDocs. The project walks you through generating nice-looking and modern documentation from Markdown files and your existing code’s docstrings. The final step is to deploy your freshly generated documentation to a GitHub repository.

Christopher talks about a pair of articles arguing for and against using Python dictionaries. The first article, “Just Use Dictionaries,” pushes to keep things simple, while the second article, “Don’t Let Dicts Spoil Your Code,” contends that complex projects require something more specific.

We cover several other articles and projects from the Python community, including discussing the recent beta release of Python 3.11, 2FA for PyPI, procedural music composition with arvo, building a tic-tac-toe game with Python and Tkinter, common issues encountered while coding in Python, a type-safe library to generate SVG files, and a lightweight static analysis tool for your projects.


  • 00:00:00 – Introduction
  • 00:02:39 – Python 3.11 Release May Be Delayed
  • 00:03:39 – The cursed release of Python 3.11.0b4 is now available
  • 00:05:01 – PyPI 2FA Security Key Giveaway
  • 00:08:01 – Build Your Python Project Documentation With MkDocs
  • 00:14:12 – Don’t Let Dicts Spoil Your Code
  • 00:16:22 – Just Use Dictionaries
  • 00:20:12 – Sponsor:
  • 00:20:51 – Procedural Music Composition With arvo
  • 00:29:10 – Build a Tic-Tac-Toe Game With Python and Tkinter
  • 00:33:59 – Video Course Spotlight
  • 00:35:35 – Most Common Issue You Have Coding With Python?
  • 00:45:00 – Type-Safe Library to Generate SVG Files
  • 00:48:27 – semgrep: Lightweight Static Analysis for Many Languages
  • 00:53:46 – Thanks and goodbye


Topic Links:

  • Build Your Python Project Documentation With MkDocs – In this tutorial, you’ll learn how to build professional documentation for a Python package using MkDocs and mkdocstrings. These tools allow you to generate nice-looking and modern documentation from Markdown files and, more importantly, from your code’s docstrings.
  • Don’t Let Dicts Spoil Your Code – The dict is the go-to data structure for Python programmers, but its loose relationship to the data can be problematic in large data streams. Learn more about why and when you might choose a different data structure.
  • Just Use Dictionaries – Using simple data structures is an important part of keeping it simple, and Python is all about simplicity. Less code means fewer problems. Just use dictionaries. You probably don’t need classes.
  • Procedural Music Composition With arvo – By using the music21 and avro libraries, you can create musical scores programmatically. This article runs you through which libraries you need and how you can compose your own music.
  • Build a Tic-Tac-Toe Game With Python and Tkinter – In this step-by-step project, you’ll learn how to create a tic-tac-toe game using Python and the Tkinter GUI framework. Tkinter is cross-platform and is available in the Python standard library. Creating a game in Python is a great and fun way to learn something new and exciting!



Additional Links: