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:
- Polars 1.0 Released
- Psycopg 3.2 Released
- Django security releases issued: 5.0.7 and 4.2.14
- PyBay 2024 Call for Proposals
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:
- Any Web Devs Successfully Pivoted to AI/ML Development?
Projects:
- aurora: Static Site Generator Implemented in Python
- 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 #209: Python’s Command-Line Utilities & Music Information Retrieval Tools – The Real Python Podcast
- Python Module Index — Python 3.12.4 documentation
- Built-in Functions — Python 3.12.4 documentation
- Briefcase— BeeWare
- Ask HN: What’s Prolog like in 2024? - Hacker News
- 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:
- Parallel Iteration With Python's zip() Function
- Python Inner Functions
- Jinja Templating
Support the podcast & join our community of Pythonistas