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) --- CLAUDE.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'CLAUDE.md') diff --git a/CLAUDE.md b/CLAUDE.md index 6293bdb..32c4e8b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -32,12 +32,19 @@ Jamais de processus orphelins ni de ports ouverts après un test. - **Build backend:** hatchling (per package `pyproject.toml`) ```bash -# Créer le venv et installer les packages -python3 -m venv .venv && source .venv/bin/activate +# Créer le venv (--clear si recréation sur une autre machine/OS) +python3 -m venv .venv --clear +source .venv/bin/activate + +# Toutes les dépendances sont déclarées dans les pyproject.toml — un seul pip install suffit pip install -e packages/meshbay-common -e packages/meshbay-hub -e packages/meshbay-node -pip install httpx blake3 uvicorn pytest pytest-asyncio +pip install pytest pytest-asyncio aiosqlite # extras dev ``` +Les deps clés (aioquic, watchdog, fastapi, blake3, etc.) sont dans les `pyproject.toml` +et installées automatiquement. Ne pas ajouter manuellement des packages sans les déclarer +dans le bon `pyproject.toml`. + > **Ne jamais copier `.venv/` entre machines d'OS différents.** Si rsync depuis Fedora vers Ubuntu, > exclure `.venv/` et recréer sur la cible avec `python3 -m venv .venv --clear`. > Sans `--clear`, `certifi.where()` pointe vers un chemin Fedora inexistant sur Ubuntu → `FileNotFoundError`. -- cgit v1.2.3