Real Python Podcast Episode #178 Title Artwork

Episode 178: Guiding Scientific Python Library Development

The Real Python Podcast

Oct 27, 2023 57m

How do you prepare a scientific Python project for sharing with others? Could you use some best practices and guidance for packaging, documentation, and testing? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.

We talk about the creation of the Scientific Python Library Development Guide. The guide was finalized during the 2023 Scientific Python Developer Summit and is a resource for modern packaging. It includes sections of tutorials, principles, templates, and common patterns.

Christopher shares a recent Real Python tutorial about sorting Unicode strings in Python. He covers some of the pitfalls and ways to avoid them. The tutorial includes multiple third-party libraries to assist in wrangling Unicode characters.

We also share several other articles and projects from the Python community, including a couple of release announcements, information on namespaces and variable scope in Python, benchmark comparisons of Numba and Mojo, a discussion of recent so-called AI fails, a TUI for log files with a merged timeline, a cross-platform GUI building tool similar to HyperCard, and a project for reproducing exact argparse arguments.


  • 00:00:00 – Introduction
  • 00:02:30 – Python 3.13.0 alpha 1 is now available
  • 00:03:20 – - Podcast
  • 00:03:53 – PEP 730 - Adding iOS as a supported platform
  • 00:05:22 – Mojo🔥 is now available on Mac
  • 00:06:28 – How to Sort Unicode Strings Alphabetically in Python
  • 00:11:48 – Python Variables: Namespaces and Variable Scope
  • 00:18:18 – Mojo: Head-to-Head With Python and Numba
  • 00:27:25 – Video Course Spotlight
  • 00:28:50 – The Scientific Python Library Development Guide
  • 00:32:47 – I’m banned for life from advertising on Meta
  • 00:48:03logmerger: TUI for Log Files With Merged Timeline
  • 00:50:34 – CardStock: Cross-Platform GUI Building Tool
  • 00:54:24reverse_argparse: Tell the User What They Ran
  • 00:56:25 – Thanks and goodbye


Show Links:

  • How to Sort Unicode Strings Alphabetically in Python – In this tutorial, you’ll learn how to correctly sort Unicode strings in Python while avoiding common pitfalls. You’ll explore powerful third-party libraries implementing the complete Unicode Collation Algorithm (UCA), as well as standard library modules and a few handmade solutions.
  • Python Variables: Namespaces and Variable Scope – This post is a comprehensive guide on namespaces and variable scope. Learn about the four different namespaces and how to access each.
  • Mojo: Head-to-Head With Python and Numba – This article covers a Mandelbrot-based benchmark of Python, variations of Numba, and the newly available Mojo. Although Mojo is fast, it takes a lot more work than the author expected to translate Python to it, and with the right parameters, Numba still beats it.
  • The Scientific Python Development Guide – This article talks about the release of the Scientific Python Development Guide, which documents Python package development. It includes cookie-cutter templates and repo tools.



Additional Links: