From 82ce18ef9f45f817505b12e24c958beda45465f0 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Sun, 9 Aug 2026 22:28:47 +0200 Subject: fix: complete pyproject.toml deps + graceful QUIC fallback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit meshbay-node/pyproject.toml: add aioquic>=1.0 (was commented 'v2'), websockets>=12.0 (revocation push). Both are production code since Phase 5. meshbay-hub/pyproject.toml: add aiosqlite (tests without PostgreSQL), slowapi (rate limiting), websockets (revocation push), PyJWT (explicit). transport/__init__.py: QUIC imports wrapped in try/except — node works without aioquic (TCP+TLS + HTTP fallback). QUIC_AVAILABLE flag exported. QUICKSTART.md: replace manual pip list with 'pip install -e' that pulls all deps from pyproject.toml automatically. Add dependency table. CLAUDE.md: clarify that all deps go in pyproject.toml, not manual installs. 81/81 tests. Co-Authored-By: Claude Sonnet 4.6 (1M context) --- docs/QUICKSTART.md | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/QUICKSTART.md b/docs/QUICKSTART.md index 2fa5af0..ca3beee 100644 --- a/docs/QUICKSTART.md +++ b/docs/QUICKSTART.md @@ -14,21 +14,34 @@ Le node tourne sur votre machine et héberge vos fichiers. ```bash cd ~/meshbay # le dépôt local (pas encore publié sur GitHub) -python3 -m venv .venv && source .venv/bin/activate ``` -> **Important — ne pas copier `.venv/` entre machines d'OS différents.** -> Le venv est spécifique à l'OS. Si vous avez cloné/copié le repo depuis une machine Fedora -> vers Ubuntu (ou inversement), le venv doit être recréé avec `--clear` : +> **Si vous synchez le repo depuis une autre machine (rsync, scp)** : +> ne pas copier `.venv/` — il est lié à l'OS source et casse pip sur l'OS cible. +> Toujours recréer le venv avec `--clear` sur la machine cible. ```bash -python3 -m venv .venv --clear # ← --clear force la recréation propre +# Créer (ou recréer proprement) le venv +python3 -m venv .venv --clear source .venv/bin/activate -pip install -e packages/meshbay-common -e packages/meshbay-node httpx blake3 uvicorn + +# Installer les packages — les dépendances (aioquic, watchdog, etc.) viennent automatiquement +pip install -e packages/meshbay-common -e packages/meshbay-node -e packages/meshbay-hub ``` -Sans `--clear`, pip peut échouer avec `FileNotFoundError` dans `certifi` parce qu'il -cherche les certificats CA à un chemin valide sur l'OS d'origine mais absent sur l'OS cible. +Les dépendances déclarées dans les `pyproject.toml` sont installées automatiquement : + +| Package | Vient de | Rôle | +|---|---|---| +| `cryptography` | meshbay-common | crypto (Ed25519, ChaCha20, Argon2id) | +| `PyJWT` | meshbay-common | JWT EdDSA | +| `blake3`, `msgpack`, `zstandard` | meshbay-common | hashing, sérialisation, compression | +| `fastapi`, `uvicorn` | meshbay-node | HTTP API + UI locale | +| `httpx` | meshbay-node | client hub | +| `watchdog` | meshbay-node | surveillance répertoire | +| `aioquic` | meshbay-node | transport QUIC (MNP v2) | +| `aioice` | meshbay-node | ICE/STUN NAT traversal | +| `websockets` | meshbay-node | notifications hub→node | --- -- cgit v1.2.3