Packaging rundown
Briefly

The crux of the poor user experience is choosing a build backend. The reader at this stage does not know what a "build backend" is, and moreover does not care.
The source distribution section is included because by default hatchling ostensibly includes all files that are not ignored. However, it only abides by the root .gitignore. It will include virtual environments, if not named .venv. For a project that advocates sensible defaults, this is surprising behavior and a security flaw.
The original build tool, and previously the de facto standard. It is no longer commonly included in Python distributions, so they are all on equal footing with respect to needing installation.
Setuptools requires explicitly specifying the package, as well as any package data. It also includes legacy ".egg" and "setup.cfg" files, which a modern user will not be familiar with.
Read at Coady
[
add
]
[
|
|
]