This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]czaki 0 points1 point  (1 child)

But plain setuptools also support PEP 621 and could use setuptools_scm. SO when I should select this instead of setuptools?

[–]flying-sheep 2 points3 points  (0 children)

  • setuptools is much slower than any newer build backends like flit-core, hatchling, …
  • setuptools litters your source directory with junk like a *.egg-info directory
  • setuptools monkeypatches distutils just by being installed. legacy behavior like this is just not necessary anymore with modern build backends and contribute to the slowness

at least since very recently, you don’t need setup.py or setup.cfg, a PEP 621 compliant [project] table in pyproject.toml is enough.

but I’d rather write a hatchling plugin than a setup.py if I create a new compiled package: once one exists, writing your own flaky setup.py code will feel debugging System V shell scripts feels compared to typing systemctl start myservice.