The Real Python Podcast

Creating Documentation With MkDocs & When to Use a Python dict


Listen Later

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.

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.

Course Spotlight: Dictionaries and Arrays: Selecting the Ideal Data Structure

In this course, you’ll learn about two of Python’s data structures: dictionaries and arrays. You’ll look at multiple types and classes for both of these and learn which implementations are best for your specific use cases.

Topics:

  • 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: Snyk.io
  • 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 – svg.py: Type-Safe Library to Generate SVG Files
  • 00:48:27 – semgrep: Lightweight Static Analysis for Many Languages
  • 00:53:46 – Thanks and goodbye
  • News:

    • Python 3.11 Release May Be Delayed
    • The cursed release of Python 3.11.0b4 is now available - Python.org.
    • “We’ve begun rolling out a 2FA requirement”: PyPI on Twitter
    • PyPI 2FA Security Key Giveaway
    • 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!
      • Discussion:

        • Most Common Issue You Have Coding With Python?
        • Projects:

          • svg.py: Type-Safe Library to Generate SVG Files
          • semgrep: Lightweight Static Analysis for Many Languages
          • Additional Links:

            • Getting 2FA Right in 2019 | Trail of Bits Blog
            • autoDocstring - Python Docstring Generator - Visual Studio Marketplace
            • styleguide | Style guides for Google-originated open-source projects
            • Writing docstrings — Sphinx-RTD-Tutorial documentation
            • Django Ninja
            • arvo: Python library for procedural music composition
            • Getting Started with arvo: a Procedural Music Composition Library - YouTube
            • music21: a Toolkit for Computer-Aided Musicology
            • music21: GitHub
            • Free music composition and notation software | MuseScore
            • Code Generation | MusicXML 4.0
            • Python GUI Programming With Tkinter – Real Python
            • Tcl Developer Site
            • tkinter — Python interface to Tcl/Tk — Python 3.10.5 documentation
            • svg-xsd-schema: XSD schema for SVG
            • SVG: Scalable Vector Graphics | MDN
            • Level up your Python skills with our expert-led courses:

              • Records and Sets: Selecting the Ideal Data Structure
              • Documenting Code in Python
              • Dictionaries and Arrays: Selecting the Ideal Data Structure
              • Support the podcast & join our community of Pythonistas

                ...more
                View all episodesView all episodes
                Download on the App Store

                The Real Python PodcastBy Real Python

                • 4.7
                • 4.7
                • 4.7
                • 4.7
                • 4.7

                4.7

                139 ratings


                More shows like The Real Python Podcast

                View all
                The Changelog: Software Development, Open Source by Changelog Media

                The Changelog: Software Development, Open Source

                288 Listeners

                Software Engineering Daily by Software Engineering Daily

                Software Engineering Daily

                625 Listeners

                Talk Python To Me by Michael Kennedy

                Talk Python To Me

                579 Listeners

                Soft Skills Engineering by Jamison Dance and Dave Smith

                Soft Skills Engineering

                289 Listeners

                Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

                Super Data Science: ML & AI Podcast with Jon Krohn

                302 Listeners

                Python Bytes by Michael Kennedy and Brian Okken

                Python Bytes

                213 Listeners

                Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                Syntax - Tasty Web Development Treats

                988 Listeners

                Darknet Diaries by Jack Rhysider

                Darknet Diaries

                8,088 Listeners

                Tech Brew Ride Home by Morning Brew

                Tech Brew Ride Home

                969 Listeners

                Practical AI by Practical AI LLC

                Practical AI

                200 Listeners

                AWS Podcast by Amazon Web Services

                AWS Podcast

                207 Listeners

                Django Chat by William Vincent and Carlton Gibson

                Django Chat

                75 Listeners

                Last Week in AI by Skynet Today

                Last Week in AI

                310 Listeners

                Machine Learning Street Talk (MLST) by Machine Learning Street Talk (MLST)

                Machine Learning Street Talk (MLST)

                100 Listeners

                The Pragmatic Engineer by Gergely Orosz

                The Pragmatic Engineer

                70 Listeners