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-corehttps://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

Reply via email to