#549: Great Docs
Your documentation has two audiences now - humans reading the rendered HTML, and AI agents trying to make sense of your library. Rich Iannone and Michael Chow from Posit are back on Talk Python with a brand new Python documentation tool called Great Docs that takes both seriously. Rich is the creator of Great Tables, and before that the R package GT, the man has a serious eye for design, and he's pointed that energy at the Python docs ecosystem. We'll talk about how Great Docs spins up a polished site in three commands, why every page ships as Markdown for your favorite LLM, how it leans on Quarto for executable code blocks and tabbed install sections, and where it lands against Sphinx, MkDocs, and Zensical. Plus, you'll meet Tablin. Here we go.
Episode sponsors
Sentry Error Monitoring, Code talkpython26
Temporal
Talk Python Courses
Links from the show
Guests
Michael Chow: github.com
Rich lannone: github.com
Python Web Security with OWASP Top 10 and Agentic AI Course: talkpython.fm
Great Docs: posit-dev.github.io/great-docs
Great Tables: posit-dev.github.io
GT Episode: talkpython.fm
Sphinx: www.sphinx-doc.org
mkdocs: www.mkdocs.org
Zensical: zensical.org
Hugo: gohugo.io
Ghost: ghost.org
Rs pkgdown: pkgdown.r-lib.org
Quarto: quarto.org
quickstart: posit-dev.github.io
llms.txt file: llmstxt.org
llms.txt: talkpython.fm
mcp: talkpython.fm
cli: talkpython.fm
Watch this episode on YouTube: youtube.com
Episode #549 deep-dive: talkpython.fm/549
Episode transcripts: talkpython.fm
Theme Song: Developer Rap
🥁 Served in a Flask 🎸: talkpython.fm/flasksong
---== Don't be a stranger ==---
YouTube: youtube.com/@talkpython
Bluesky: @talkpython.fm
Mastodon: @talkpython@fosstodon.org
X.com: @talkpython
Michael on Bluesky: @mkennedy.codes
Michael on Mastodon: @mkennedy@fosstodon.org
Michael on X.com: @mkennedy
Harnessing the Power of Python Polars
<p>What are the advantages of using Polars for your Python data projects? When should you use the lazy or eager APIs, and what are the benefits of each? This week on the show, we speak with Jeroen Janssens and Thijs Nieuwdorp about their new book, <em>Python Polars: The Definitive Guide</em>.</p>
<p>Jeroen and Thijs describe how they were introduced to Polars while working at Xomnia. They were converting a large data project to Python and saw surprising speed increases using the new library. </p>
<p>We discuss converting projects from pandas to Polars, getting away from indexes, consistent syntax, and using lazy vs eager APIs. Along the way, Jeroen and Thijs offer tips for getting the most out of Polars in your code.</p>
<p>We dig into the process of writing a definitive guide and the advantages of working collaboratively on a book project. They also share resources for practicing data wrangling and building visualizations with Pydy Tuesday.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/working-with-python-polars/">Working With Python Polars</a></p>
<p>Welcome to the world of Polars, a powerful DataFrame library for Python. In this video course, you’ll get a hands-on introduction to Polars’ core features and see why this library is catching so much buzz.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:47 – Polars start at Xomnia</li>
<li>00:04:08 – Putting Polars into production</li>
<li>00:07:18 – Realizing the speed differences</li>
<li>00:08:49 – Converting the project from R to Python</li>
<li>00:14:34 – How did Polars improve the project?</li>
<li>00:16:34 – Making the code more ergonomic and readable</li>
<li>00:19:21 – Only grabbing the data that is needed</li>
<li>00:20:37 – Titling and deciding to write the book</li>
<li>00:24:40 – Advantages to collaboration</li>
<li>00:29:34 – What were you excited to include in the book?</li>
<li>00:31:55 – Working with different engines and Nvidia’s Cuda</li>
<li>00:35:05 – Defining a Polars expression</li>
<li>00:36:11 – Transitioning from pandas to Polars</li>
<li>00:37:34 – Not needing an index</li>
<li>00:39:56 – What inspired the syntax?</li>
<li>00:45:01 – Defining lazy vs eager workflows</li>
<li>00:49:16 – Examples covered in first chapter preview</li>
<li>00:51:51 – Video Course Spotlight</li>
<li>00:53:14 – Data formats and Arrow</li>
<li>00:55:41 – Working with NaN, null, or None</li>
<li>00:58:11 – Measuring performance through a benchmark</li>
<li>00:59:12 – Advantages to working with the Discord community</li>
<li>01:02:32 – Code examples and applying the techniques</li>
<li>01:03:34 – Pydy Tuesday</li>
<li>01:05:47 – What are you excited about in the world of Python?</li>
<li>01:09:21 – What do you want to learn next?</li>
<li>01:13:26 – What’s the best way to follow your work online?</li>
<li>01:14:14 – Thanks and goodbye</li>
</ul>
<p>Survey:</p>
<ul>
<li><a href="https://tally.so/r/nWbKgJ">Listener Survey - Help Shape the Future of the Real Python Podcast</a></li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://polarsguide.com/">Python Polars: The Definitive Guide</a></li>
<li><a href="https://www.youtube.com/watch?v=B2Ljp2Fb-l0&t=32s">Janssens & Nieuwdorp - What we learned by converting a large codebase from Pandas to Polars - YouTube</a></li>
<li><a href="https://pola.rs/">Polars — DataFrames for the new era</a></li>
<li><a href="https://pypi.org/project/polars/">polars · PyPI</a></li>
<li><a href="https://xomnia.com/">Xomnia - Home Page</a></li>
<li><a href="https://realpython.com/podcasts/rpp/140/">Episode #140: Speeding Up Your DataFrames With Polars</a></li>
<li><a href="https://datascienceatthecommandline.com/">Data Science at the Command Line - Jeroen Janssens</a></li>
<li><a href="https://www.tidyverse.org/">Tidyverse</a></li>
<li><a href="https://spark.apache.org/docs/latest/api/python/index.html">PySpark Overview — PySpark 4.0.0 documentation</a></li>
<li><a href="https://realpython.com/podcasts/rpp/193/">Episode #193: Wes McKinney on Improving the Data Stack & Composable Systems</a></li>
<li><a href="https://arrow.apache.org/">Apache Arrow</a></li>
<li><a href="https://www.tpc.org/tpch/">TPC-H Homepage</a></li>
<li><a href="https://polarsguide.com/community/">Community – Python Polars: The Definitive Guide</a></li>
<li><a href="https://github.com/posit-dev/pydytuesday">pydytuesday: A Python package to download TidyTuesday datasets</a></li>
<li><a href="https://www.youtube.com/playlist?list=PL9HYL-VRX0oSDQjicFMLIIdcLv5NuvDp9">PydyTuesday - Python How-to Videos - YouTube</a></li>
<li><a href="https://astral.sh/">Astral: High-performance Python tooling</a></li>
<li><a href="https://realpython.com/podcasts/rpp/238/">Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv</a></li>
<li><a href="https://github.com/astral-sh/uv">uv: An extremely fast Python package and project manager, written in Rust.</a></li>
<li><a href="https://peps.python.org/pep-0723/">PEP 723 – Inline script metadata</a></li>
<li><a href="https://packaging.python.org/en/latest/specifications/inline-script-metadata/#inline-script-metadata">Inline script metadata - Python Packaging User Guide</a></li>
<li><a href="https://www.youtube.com/watch?v=izQcKzgj46U">Package Your Python Code as a CLI - PyData London 25 - YouTube</a></li>
<li><a href="https://marimo.io/">marimo - A next-generation Python notebook</a></li>
<li><a href="https://doc.rust-lang.org/book/">The Rust Programming Language Book</a></li>
<li><a href="https://www.pimsleur.com/">Pimsleur - Learn New Languages Online</a></li>
<li><a href="https://www.rosettastone.com/">Official Rosetta Stone - How Language Is Learned</a></li>
<li><a href="https://thijsnieuwdorp.com/">Thijs Nieuwdorp</a></li>
<li><a href="https://jeroenjanssens.com/">Jeroen Janssens</a></li>
<li><a href="https://polarsguide.com/">Python Polars: The Definitive Guide</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/working-with-python-polars/">Working With Python Polars</a></li>
<li><a href="https://realpython.com/courses/graph-data-with-python-and-ggplot/">Graph Your Data With Python and ggplot</a></li>
<li><a href="https://realpython.com/courses/missing-data-polars/">Working With Missing Data in Polars</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
885: Python Polars: The Definitive Guide, with Jeroen Janssens and Thijs Nieuwdorp
Jeroen Janssens and Thijs Nieuwdorp are data frame library Polars’ greatest advocates in this episode with Jon Krohn, where they discuss their book, Python Polars: The Definitive Guide, best practice for using Polars, why Pandas users are switching to Polars for data frame operations in Python, and how the library reduces memory usage and compute time up to 10x more than Pandas. Listen to the episode to be a part of an O’Reilly giveaway!
Additional materials: www.superdatascience.com/885
This episode is brought to you by Trainium2, the latest AI chip from AWS, by Adverity, the conversational analytics platform and by the Dell AI Factory with NVIDIA.
Interested in sponsoring a SuperDataScience Podcast episode? Email natalie@superdatascience.com for sponsorship information.
In this episode you will learn:
(07:44) Why Jeroen and Thijs wrote Python Polars: The Definitive Guide
(21:54) Best practices in Polars
(25:55) Why Polars has so many users
(34:32) The benefits of the Great Tables package
(51:06) Jeroen and Thijs’ partnership with NVIDIA and Dell for Python Polars: The Definitive Guide
817: The Positron IDE, Tidy NLP and MLOps with Dr. Julia Silge
Dr. Julia Silge, Engineering Manager at Posit, introduces the brand-new Positron IDE, perfect for exploratory data analysis and visualization. She also lays out her top picks for LLMs that boost coding efficiency and discusses when traditional NLP methods might be the smarter choice over LLMs. Plus, Julia highlights some must-know open-source libraries that make managing MLOps easier than ever. Tune in for insights that every data scientist, ML engineer, and developer will find useful.
This episode is brought to you by Gurobi, the Decision Intelligence Leader, and by ODSC, the Open Data Science Conference. Interested in sponsoring a SuperDataScience Podcast episode? Email natalie@superdatascience.com for sponsorship information.
In this episode you will learn:
• Overview of Posit and Positron IDE [05:20]
• How the needs of a data scientist differ from those of a software developer [10:54]
• How to contribute to the open-source Positron [19:50]
• MLOps and Vetiver: Tools for deploying and maintaining ML models [37:01]
• Natural Language Processing (NLP) and the Tidyverse approach [50:34]
• The role of AI and LLMs in data science education [1:24:18]
Additional materials: www.superdatascience.com/817
Build Captivating Display Tables in Python With Great Tables
<p>Do you need help making data tables in Python look interesting and attractive? How can you create beautiful display-ready tables as easily as charts and graphs in Python? This week on the show, we speak with Richard Iannone and Michael Chow from Posit about the Great Tables Python library.</p>
<p>Michael and Richard discuss the design philosophy and history behind creating display tables. We dig into the grammar of tables, the background of the project, and an ingenious way to build a collection of examples for a library.</p>
<p>We briefly cover how Richard and Michael started contributing to open source. We also discuss practicing data skills with challenges and resources like Tidy Tuesday.</p>
<p>This episode is sponsored by Mailtrap.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/graph-data-with-python-and-ggplot/">Graph Your Data With Python and ggplot</a> </p>
<p>In this course, you’ll learn how to use ggplot in Python to build data visualizations with plotnine. You’ll discover what a grammar of graphics is and how it can help you create plots in a very concise and consistent way.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:00 – Michael’s background in open source</li>
<li>00:04:07 – Rich’s background in open source</li>
<li>00:05:27 – Advice for someone starting out</li>
<li>00:08:55 – What do you mean by the term “display” table</li>
<li>00:11:32 – What components were missing from other tables?</li>
<li>00:13:31 – Using examples to explain features</li>
<li>00:16:09 – Why was there an absence of this functionality in Python?</li>
<li>00:19:35 – A progressive approach and the grammar of tables</li>
<li>00:21:26 – Sponsor: Mailtrap</li>
<li>00:22:01 – The design philosophy of great tables</li>
<li>00:25:31 – Nanoplots, spark lines, and column spanners</li>
<li>00:27:06 – Building a gallery of examples</li>
<li>00:28:56 – Heat mapping cells and automatically adjusting text color</li>
<li>00:32:54 – Output formats for the tables</li>
<li>00:34:46 – Building in accessibility</li>
<li>00:36:55 – Dependencies</li>
<li>00:37:42 – What is the common workflow?</li>
<li>00:41:39 – Video Course Spotlight</li>
<li>00:43:15 – Adding graphics</li>
<li>00:46:41 – Using a table contest to get examples</li>
<li>00:49:47 – quartodoc and documenting the project</li>
<li>00:55:00 – Tidy Tuesday and data science community</li>
<li>01:00:29 – What are you excited about in the world of Python?</li>
<li>01:03:46 – What do you want to learn next?</li>
<li>01:08:05 – How can people follow the work you do online?</li>
<li>01:09:57 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://posit-dev.github.io/great-tables/articles/intro.html">Great Tables - Intro</a></li>
<li><a href="https://posit-dev.github.io/great-tables/examples/">Examples – great_tables</a></li>
<li><a href="https://github.com/posit-dev/great-tables/tree/main">great-tables: Make awesome display tables using Python. - GitHub</a></li>
<li><a href="https://github.com/machow/siuba">siuba: Python library for using dplyr like syntax with pandas and SQL</a></li>
<li><a href="https://posit-dev.github.io/great-tables/blog/design-philosophy/">The Design Philosophy of Great Tables – great_tables</a></li>
<li><a href="https://www.youtube.com/watch?v=p42Xc6dl3Ek">Richard Iannone - Using Great Tables to Make Presentable Tables in Python - YouTube</a></li>
<li><a href="https://x.com/elcheff/status/1753756506992890115">Evaluation of the players of #LigaEndesa this week in Europe - Great Tables Example - X</a></li>
<li><a href="https://github.com/machow/quartodoc">quartodoc: Generate API documentation with quarto</a></li>
<li><a href="https://www.youtube.com/playlist?list=PL19ev-r1GBwkuyiwnxoHTRC8TTqP8OEi8">Tidy Tuesday R Screencasts - YouTube</a></li>
<li><a href="https://pola.rs/">Polars — DataFrames for the new era</a></li>
<li><a href="https://github.com/narwhals-dev/narwhals">narwhals-dev/narwhals: Lightweight and extensible compatibility layer between dataframe libraries!</a></li>
<li><a href="https://plotnine.org/">A Grammar of Graphics for Python – plotnine 0.13.6</a></li>
<li><a href="https://github.com/rich-iannone">Richard Iannone - GitHub</a></li>
<li><a href="https://github.com/machow">Michael Chow - GitHub)</a></li>
<li><a href="https://www.linkedin.com/in/richard-iannone-a5640017/">Richard Iannone - LinkedIn</a></li>
<li><a href="https://www.linkedin.com/in/michael-a-chow/">Michael Chow - LinkedIn</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/using-jupyter-notebooks/">Using Jupyter Notebooks</a></li>
<li><a href="https://realpython.com/courses/pandas-groupby-real-world-data/">pandas GroupBy: Grouping Real World Data in Python</a></li>
<li><a href="https://realpython.com/courses/graph-data-with-python-and-ggplot/">Graph Your Data With Python and ggplot</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
Founders Playbook: Lessons from Riot, Discord, & More
Gaming is not just entertainment—it's a revolution reshaping our culture, technology, and economy.
a16z’s Jonathan Lai and Andrew Chen dive into the current gaming renaissance and its future impact. Joining them are Michael Chow, CEO and Steven Snow, CPO of The Believer Company, and Eros Resmini, Founder and Managing Partner of The Mini Fund.
They explore the intersection of tech, art, psychology, and design in gaming, discussing how startups can navigate intense competition, distribution challenges, and high production costs. With insights from these industry leaders, this episode covers the transformative potential of AI, the importance of player feedback, and strategies to stand out in a crowded market.
Recorded during Speedrun, a16z’s extensive games accelerator, this episode offers a glimpse into the strategies and innovations driving the gaming industry forward.
Resources:
Find Steven on Twitter: https://twitter.com/StevenSnow
Find Michael on LinkedIn: https://www.linkedin.com/in/believer-paladin/
Find Eros on Twitter: https://twitter.com/erosresmini
Find Jonathan on Twitter: https://twitter.com/Tocelot
Find Andrew on Twitter: https://twitter.com/andrewchen
Learn more about Speedrun: https://a16z.com/games/speedrun/
Stay Updated:
Let us know what you think: https://ratethispodcast.com/a16z
Find a16z on Twitter: https://twitter.com/a16z
Find a16z on LinkedIn: https://www.linkedin.com/company/a16z
Subscribe on your favorite podcast app: https://a16z.simplecast.com/
Follow our host: https://twitter.com/stephsmithio
Please note that the content here is for informational purposes only; should NOT be taken as legal, business, tax, or investment advice or be used to evaluate any investment or security; and is not directed at any investors or potential investors in any a16z fund. a16z and its affiliates may maintain investments in the companies discussed. For more details please see a16z.com/disclosures.
Stay Updated:
Find a16z on YouTube: YouTube
Find a16z on X
Find a16z on LinkedIn
Listen to the a16z Show on Spotify
Listen to the a16z Show on Apple Podcasts
Follow our host: https://twitter.com/eriktorenberg
Please note that the content here is for informational purposes only; should NOT be taken as legal, business, tax, or investment advice or be used to evaluate any investment or security; and is not directed at any investors or potential investors in any a16z fund. a16z and its affiliates may maintain investments in the companies discussed. For more details please see a16z.com/disclosures.
Hosted by Simplecast, an AdsWizz company. See pcm.adswizz.com for information about our collection and use of personal data for advertising.
779: The Tidyverse of Essential R Libraries and their Python Analogues, with Dr. Hadley Wickham
Tidyverse, ggplot2, and the secret to a tech company’s longevity: Hadley Wickham talks to Jon Krohn about Posit’s rebrand, Tidyverse and why it needs to be in every data scientist’s toolkit, and why getting your hands dirty with open-source projects can be so lucrative for your career.
This episode is brought to you by Intel and HPE Ezmeral Software. Interested in sponsoring a SuperDataScience Podcast episode? Visit passionfroot.me/superdatascience for sponsorship information.
In this episode you will learn:
• All about the Tidyverse [04:46]
• Hadley’s favorite R libraries [17:10]
• The goal of Posit [30:29]
• On bringing multiple programming languages together [36:02]
• The principles for a long-lasting tech company [52:10]
• How Hadley developed ggplot2 [55:24]
• How to contribute to the open-source community [1:05:43]
Additional materials: www.superdatascience.com/779
#424: Shiny for Python
See the full show notes for this episode on the website at talkpython.fm/424
#392: Data Science from the Command Line
See the full show notes for this episode on the website at talkpython.fm/392
531: Data Science at the Command Line
Jeroen Janssens joins on the podcast to discuss his book on utilizing the command line for data science and the importance of polyglot data science work.
In this episode you will learn:
The genesis of Jeroen’s book [3:24]
Data Science at the Command Line [8:55]
Creating your own command line tools [22:07]
Polyglot data scientist [24:29]
Data Science Workshops [27:01]
Jeroen’s PhD research [30:38]
Additional materials: www.superdatascience.com/531
337: Hadley Wickham Talks Integration and Future of R and Python
Hadley Wickham, a huge presence in data science, sits down to talk about R, Python, and the future of potential integrations, as well as some Q&A with our listeners through LinkedIn about programming languages and how to make data science accessible for all.
In this episode you will learn:
Hadley’s R packages [8:26]
Better integrations between R and Python [20:11]
LinkedIn Q&A [33:34]
useR Conference vs. RStudio Conference [50:46]
LinkedIn Q&A: Career-related questions [1:01:06]
LinkedIn Q&A: Future-related questions [1:08:01]
Additional materials: www.superdatascience.com/337