Package: python3-aiocoap
Version: 0.4.12-3
Severity: normal

First of all, thanks for keeping the aiocoap package up to date!

Trying `python3 -m aiocoap.cli.defaults`, I found that a default install
does not pull in many packages that are optional from a Python package
point of view. Most of those would work well as Recommends in Debian --
`python3 -m aiocoap.cli.defaults` shows them as:

    Modules missing for subsystems:
        dtls: missing DTLSSocket
        oscore: missing ge25519, lakers-python
        linkheader: everything there
        prettyprint: missing cbor-diag
        ws: everything there

The "everything there" are just because I happen to have
those packages installed locally (websockets) or they are empty (and
retained for compatibility, linkheader).

The package currently has

    Recommends: oscore, prettyprint, ws
    Suggests: python-aiocoap-doc, tinydtls

where only python-aiocoap-doc is an existing package, and the rest is
not even Python packages but aiocoap optional features.

Of the missing subsystems, this is what IMO should be stated instead:

   Recommends: python3-cryptography, python-filelock, python3-pygments,
       python3-cbor2, python3-websockets (>= 13, < 16)

(For the python3-websockets, please consider using the latest release
0.4.14, which moved the requirement from >= 13 < 14 to < 16 which
includes testing's version 14).

To make all features fully available, we'd need extra Python packages in
Debian:

* ge25519 (transitively fe25519)
* lakers-python (transitively possibly Rust packages, mainly from the
  same workspace)
* cbor-diag (transitively Rust packages: hexfloat2)
* DTLSSocket

I can help as upstream if there is any trouble with lakers-python and
cbor-diag (as contributor or maintainer, respectively); they both build
from Rust sources using PyO3 and maturin, which should be a well-trod
path. DTLSSocket builds from C and wraps tinydtls; might not be worth
the effort, I'd treat that more as a Suggests.


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing'), (50, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.11-amd64 (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-aiocoap depends on:
ii  python3  3.12.8-1

Versions of packages python3-aiocoap recommends:
pn  oscore       <none>
pn  prettyprint  <none>
pn  ws           <none>

Versions of packages python3-aiocoap suggests:
ii  python-aiocoap-doc  0.4.12-3
pn  tinydtls            <none>

-- no debconf information

-- 
To use raw power is to make yourself infinitely vulnerable to greater powers.
  -- Bene Gesserit axiom

Attachment: signature.asc
Description: PGP signature

Reply via email to