Package: dh-python Version: 4.20201102+nmu1 Severity: wishlist Please add "Suggests: flit" to make Best Current Practice python packaging a little more discoverable.
Boring rationale follows (you can probably ignore this). Every time I try to understand how to do Python packaging, I get confused between under-documented "just run poetry build-world" and the over-documented "poetry is pip plus virtualenv plus wheel plus X, pip is setuputils plus Y, setuputils is disutils plus Z" with a looooooong tail of historical baggage. Today I think I got this solved (conversation trimmed): <twb> I'm sick of setup.py; what's Best Current Practice for declarative python packaging for Debian? <twb> apparently in 2020 the cool kids prefer https://python-poetry.org/, but next year they will probably like something else. ⇒ https://packages.debian.org/sid/python3-poetry-core ⇒ https://www.python.org/dev/peps/pep-0517/ ⇒ https://www.python.org/dev/peps/pep-0518/ ⇒ https://grassfedcode.medium.com/pep-517-and-518-in-plain-english-47208ca8b7a6 <twb> So I guess I write a pyproject.toml? How do I make debhelper $@ -B python(?) see that? <AAA> twb: pip packaging is pretty easy <twb> pip doesn't seem to even be a dependency for debhelper or python packaging <twb> I don't see any interesting rdeps for python3-pip either... <BBB> twb: pybuild(1) has grown some support for pyproject.toml https://manpages.debian.org/unstable/dh-python/pybuild.1.en.html <twb> Ah thanks, I think that is the bit I was missing <twb> add 'Build-Depends: flit, python3-toml' and debuild will Just Work with pyproject.toml <twb> I feel like pybuild should "Suggests: flit" to make this easier to discover :/ <twb> Or "Enhances: dh-python" in flit (less discoverable). PS: I had a quick look for other imports that might warrant a Suggests, but the rest of /usr/share/dh-python/dhpython/build looks like legacy things. -- System Information: Debian Release: bullseye/sid APT prefers testing APT policy: (990, 'testing'), (500, 'testing-security'), (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 5.10.0-6-amd64 (SMP w/8 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages dh-python depends on: ii python3 3.9.2-2 ii python3-distutils 3.9.2-1 dh-python recommends no packages. Versions of packages dh-python suggests: ii dpkg-dev 1.20.7.1 ii libdpkg-perl 1.20.7.1 -- no debconf information