What are discrete optimization problems? How do you solve them with constraint programming in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects

Christopher discusses an article about constraint programming using Python. He describes the fundamentals and how the problems resemble logic problems you may have experienced in school. The article shows how to solve a weekly work scheduling problem using the open-source CP-SAT package.

We discuss Leodanis Pozo Ramos’s recent tutorial, “Python’s Built-in Functions: A Complete Exploration.” These functions are available for use directly in your code without importing.

We also share several other articles and projects from the Python community, including a news roundup, spotting ships with satellites, grappling with Apple’s App Store rejecting Python applications, considering changes to Python’s security model, discussing pivoting from one development path to another, prettifying Jinja and Django templates, and generating static sites with Python.

This episode is sponsored by Sentry.

Course Spotlight: Parallel Iteration With Python’s zip() Function

In this course, you’ll learn how to use the Python zip() function to solve common programming problems. You’ll learn how to traverse multiple iterables in parallel and create dictionaries with just a few lines of code.

Topics:

  • 00:00:00 – Introduction
  • 00:02:35 – Polars 1.0 Released
  • 00:03:26 – Psycopg 3.2 Released
  • 00:04:06 – Django security releases issued: 5.0.7 and 4.2.14
  • 00:04:40 – PyBay 2024 Call for Proposals
  • 00:05:16 – Python’s Built-in Functions: A Complete Exploration
  • 00:12:10 – Satellites Spotting Ships
  • 00:16:02 – Sponsor: Sentry
  • 00:17:09 – Python Grapples With Apple App Store Rejections
  • 00:20:27 – Python’s Security Model After the xz-utils Backdoor
  • 00:25:38 – Video Course Spotlight
  • 00:26:56 – Constraint Programming Using CP-SAT and Python
  • 00:31:40 – Any Web Devs Successfully Pivoted to AI/ML Development?
  • 00:43:12 – aurora: Static Site Generator Implemented in Python
  • 00:45:14 – Running Prettier Against Django or Jinja Templates
  • 00:46:58 – Thanks and goodbye

News:

Show Links:

  • Python’s Built-in Functions: A Complete Exploration – In this tutorial, you’ll learn the basics of working with Python’s numerous built-in functions. You’ll explore how you can use these predefined functions to perform common tasks and operations, such as mathematical calculations, data type conversions, and string manipulations.
  • Satellites Spotting Ships – Umbra Space has released a data set consisting of satellite based radar images of shipping. This article from Mark shows you how to grab the data, visualize, and annotate it.
  • Python Grapples With Apple App Store Rejections – A string that is part of the urllib parser module in Python references a scheme for apps that use the iTunes feature to install other apps, which is disallowed. Auto scanning by Apple is rejecting any app that uses Python 3.12 underneath. A solution has been proposed for Python 3.13.
  • Python’s Security Model After the xz-utils Backdoor – The backdoor introduced to the xz-utils compression project through social engineering was one of the topics at the Python Language Summit. Participants discussed what can be done to prevent similar social engineering attacks on the Python source.
  • Constraint Programming Using CP-SAT and Python – Constraint programming is the process of looking for solutions based on a series of restrictions, like employees over 18 who have worked the cash before. This article introduces the concept and shows you how to use open source libraries to write constraint solving code.

Discussion:

Projects:

Additional Links:

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

Support the podcast & join our community of Pythonistas