This was tested using uv. See https://docs.astral.sh/uv/ for how to install uv. Each chapter is a separate mini-project. Most a scripts, a few are libraries.