A weekly Python podcast hosted by Christopher Bailey with interviews, coding tips, and conversation with guests from the Python community. The show covers a wide range of topics including Python programming best practices, career tips, and related software development topics. Join us every Friday morning to hear what's new in the world of Python programming and become a more effective Pythonista.

Guiding Scientific Python Library Development

October 27, 2023 0:57:10 55.94 MB Downloads: 0

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.

Course Spotlight: Exploring Scopes and Closures in Python

In this Code Conversation video course, you’ll take a deep dive into how scopes and closures work in Python. To do this, you’ll use a debugger to walk through some sample code, and then you’ll take a peek under the hood to see how Python holds variables internally.

Topics:

  • 00:00:00 – Introduction
  • 00:02:30 – Python 3.13.0 alpha 1 is now available
  • 00:03:20 – core.py - 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:03 – logmerger: TUI for Log Files With Merged Timeline
  • 00:50:34 – CardStock: Cross-Platform GUI Building Tool
  • 00:54:24 – reverse_argparse: Tell the User What They Ran
  • 00:56:25 – Thanks and goodbye

News:

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.

Discussion:

Projects:

Additional Links:

Level up your Python skills with our expert-led courses:

Support the podcast & join our community of Pythonistas