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:
Running Prettier Against Django or Jinja Templates) – “Prettier” is a JavaScript based linting tool for templates. For folks not familiar with the world of npm, it can be a bit daunting to get it going. Simon fiddled with it so you don’t have to and posted how he got it working on his system.
Additional Links:
Episode #199: Leveraging Documents and Data to Create a Custom LLM Chatbot – The Real Python Podcast)
PEP 730 – Adding iOS as a supported platform | peps.python.org)
Level up your Python skills with our expert-led courses:
Support the podcast & join our community of Pythonistas)