feat(backend): async Python client for the Kubo RPC API
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Python
- Étoiles
- 2
- Forks
- 4
- Merge moyen
- 6 h 54 min
- PR mergées (30 j)
- 7
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
QMeshPy/distributed-quantum#53 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments research-spike tier-2
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
QMeshPy/distributed-quantum#78 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments research-spike tier-2
Difficulté 3/5 1-2 jours Accessibilité débutants 66/100
QMeshPy/distributed-quantum#77 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments tier-2
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
QMeshPy/distributed-quantum#76 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue kubo storage tier-1
Difficulté 2/5 1-3 heures Accessibilité débutants 42/100
QMeshPy/distributed-quantum#75 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de QMeshPy/distributed-quantum
Issues similaires
-
comp/tools P2 type/bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
NousResearch/hermes-agent#142908 · 1 commentaire ·
-
[oblt-aw][autodoc] Fix malformed headings in new Buildkite docs pagesPeut-être pris @github-actions l’a pris aujourd’hui. Ouvertedocumentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 83/100
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: fileUploadMatrix.test.ts URL case does a real DNS lookup and fails offlinePeut-être pris @r2jaff l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
ComposioHQ/composio#5054 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
pytorch/tensordict#3286 ·
Les mainteneurs répondent en général sous 1 jour