Challenge 1: Write a Minimal pyproject.toml — Possible Solution ==================================================================== [build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "text_utils" version = "0.1.0" dependencies = [ "requests>=2.28.0", ] WHY THIS WORKS AS AN ANSWER ------------------------------ The [build-system] table reuses this chapter's own example exactly — requires = ["setuptools>=61.0"] declares what's needed to actually BUILD the package (setuptools itself, at a minimum compatible version), and build-backend = "setuptools.build_meta" tells build tools which specific backend implementation to invoke. This table is required regardless of which project's data goes in [project] below it — it's boilerplate every setuptools-based pyproject.toml shares. The [project] table reuses the chapter's own field names directly: name = "text_utils" and version = "0.1.0" supply the two pieces of metadata every package needs, matching exactly what the challenge specifies. dependencies = ["requests>=2.28.0"] reuses the chapter's own dependency-declaration syntax, itself matching the package==version (here, >=) style from Course 1, Chapter 9's requirements.txt coverage — just declared inside pyproject.toml's own [project] table instead of a separate file, which is precisely the modern consolidation this chapter describes pyproject.toml as providing. description was intentionally left out here since the challenge didn't require it — name, version, and dependencies are the minimum fields actually needed for a working, installable package definition.