feat(backend): async Python client for the Kubo RPC API
Maintainer antworten meist innerhalb von 1 Tag
@SaishKorgaonkar arbeitet bereits daran.
Seit 22.10.2026.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 55/100
Rechercherichtung
Start by reading the backend layout and how dependencies #59 and #60 shape the content layer. Implement an async httpx.AsyncClient wrapper for the listed Kubo RPC operations, then add pytest coverage with httpx.MockTransport. Done means calls are tested, timeouts map to an unavailable error, and secrets are absent from logs and exception text.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
A small typed client the backend uses to add, pin, unpin and import content.
Estimated size: M
Current state in this repo
httpxis already a backend dependency.
Proposal
httpx.AsyncClientwrapper withadd,pin_add,pin_rm,pin_ls,dag_import(CAR) andblock_stat.- Explicit timeouts, typed errors (unavailable vs rejected), and no secrets in log output.
- Config from env (
KUBO_RPC_URL,KUBO_RPC_SECRET).
Acceptance criteria
- Each call is covered against a mocked Kubo.
- A timeout maps to an
unavailableerror, not a crash. - Secrets never appear in logs or exception text.
Out of scope
- Read-side gateway client (separate issue).
Dependencies
- #59
- #60
Testing plan
- pytest with
httpx.MockTransport; optional live test behind a marker.
Part of #43. Ground rules for the content layer: no secrets in the repo, content-layer failures must never block or discard quantum execution, and tests and docs ship with every PR.
- Vorherrschende Sprache
- Python
- Sterne
- 2
- Forks
- 4
- Ø Merge
- 6 Std. 14 Min.
- Gemergte PRs (30 T.)
- 18
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
QMeshPy/distributed-quantum#53 ·
Maintainer antworten meist innerhalb von 1 Tag
-
chain-integration enhancement payments research-spike tier-2
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
QMeshPy/distributed-quantum#78 ·
Maintainer antworten meist innerhalb von 1 Tag
-
chain-integration enhancement payments research-spike tier-2
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 66/100
QMeshPy/distributed-quantum#77 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation good first issue kubo storage tier-1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 42/100
QMeshPy/distributed-quantum#75 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement kubo storage tier-2
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 56/100
QMeshPy/distributed-quantum#74 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in QMeshPy/distributed-quantum
Ähnliche Issues
-
good first issue infrastructure
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
kuznia-rdzeni/coreblocks#1135 ·
-
good first issue server
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation priority: high
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
a-lex-s/mealie-telegram-bot#54 ·
Maintainer antworten meist innerhalb von 1 Tag
-
type/test
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
SaltedTan/virgil-language-server#218 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
btclib-org/btclib-wallet#541 ·
Maintainer antworten meist innerhalb von 1 Tag