diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-08-09 22:28:47 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-08-09 22:28:47 +0200 |
| commit | 82ce18ef9f45f817505b12e24c958beda45465f0 (patch) | |
| tree | 2e33da4474b33153a1071281b0c03af447a76ea7 /docs/QUICKSTART.md | |
| parent | a4dbeb368d19f6afc0f6da3819c8e0d6242b0732 (diff) | |
| download | meshbay-82ce18ef9f45f817505b12e24c958beda45465f0.tar.gz | |
fix: complete pyproject.toml deps + graceful QUIC fallback
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) <noreply@anthropic.com>
Diffstat (limited to 'docs/QUICKSTART.md')
| -rw-r--r-- | docs/QUICKSTART.md | 29 |
1 files changed, 21 insertions, 8 deletions
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 | --- |