From 9eb03d9c674ded382c9d4d3627292b2fcf368d05 Mon Sep 17 00:00:00 2001 From: Joe Rivera Date: Fri, 3 Jul 2026 18:12:21 -0500 Subject: [PATCH] docs: clarify NMDCpb scope in README + point to verlihub-py client eiskaltdcpp-py only exposes the low-level NMDCpb envelope primitives (send_pb/send_pb_routed + pb_message event); it has no protobuf types or high-level E2EPM/relay/media/channel helpers. Add a scope note making this explicit and cross-reference verlihub.client.nmdcpb.NMDCpbClient in the verlihub-py package as the ready-made high-level client, noting that eiskaltdcpp-py high-level wrappers are planned. --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 1177dfa..3a70a84 100644 --- a/README.md +++ b/README.md @@ -189,6 +189,19 @@ The same API is available on `AsyncDCClient`, which additionally provides `await client.wait_pb_message(cmd=..., from_nick=..., timeout=...)` for awaiting a specific inbound protobuf message. +> **Scope — low-level transport only.** This package currently exposes only +> the raw envelope primitives above (`$PB` / `$PBR` broadcast and routing plus +> the `pb_message` event). Protobuf message types are **not** yet generated for +> Python, and there are **no** high-level helpers for the E2E-encrypted PM, +> hub-relay, media-share, or channel extensions — you must build and parse +> `PbEnvelope` payloads yourself. +> +> A ready-made **high-level NMDCpb client** (ergonomic E2EPM, hub-relayed +> transfers, media sharing, and channels, with importable protobuf types) is +> available today in the companion **[verlihub-py](https://pypi.org/project/verlihub-py/)** +> package as `verlihub.client.nmdcpb.NMDCpbClient`. High-level wrappers for +> eiskaltdcpp-py are planned. + ### Event types | Event | Arguments |