summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-08-09 22:28:47 +0200
committerChristophe Besson <cbesson@gmail.com>2026-08-09 22:28:47 +0200
commit82ce18ef9f45f817505b12e24c958beda45465f0 (patch)
tree2e33da4474b33153a1071281b0c03af447a76ea7 /packages/meshbay-node/src/meshbay_node
parenta4dbeb368d19f6afc0f6da3819c8e0d6242b0732 (diff)
downloadmeshbay-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 'packages/meshbay-node/src/meshbay_node')
-rw-r--r--packages/meshbay-node/src/meshbay_node/transport/__init__.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/transport/__init__.py b/packages/meshbay-node/src/meshbay_node/transport/__init__.py
index 8b49b22..b3144a6 100644
--- a/packages/meshbay-node/src/meshbay_node/transport/__init__.py
+++ b/packages/meshbay-node/src/meshbay_node/transport/__init__.py
@@ -2,8 +2,19 @@
from .server import ChunkServer
from .client import ChunkClient
from .http_server import create_http_app
-from .quic_server import QuicChunkServer
-from .quic_client import QuicChunkClient
-__all__ = ["ChunkServer", "ChunkClient", "create_http_app",
- "QuicChunkServer", "QuicChunkClient"]
+# QUIC transport (MNP v2) — requires aioquic>=1.0
+# Falls back gracefully if not installed; node still works via TCP+TLS and HTTP.
+try:
+ from .quic_server import QuicChunkServer
+ from .quic_client import QuicChunkClient
+ QUIC_AVAILABLE = True
+except ImportError:
+ QuicChunkServer = None # type: ignore[assignment,misc]
+ QuicChunkClient = None # type: ignore[assignment,misc]
+ QUIC_AVAILABLE = False
+
+__all__ = [
+ "ChunkServer", "ChunkClient", "create_http_app",
+ "QuicChunkServer", "QuicChunkClient", "QUIC_AVAILABLE",
+]