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 /packages/meshbay-node/src/meshbay_node/transport/__init__.py | |
| 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 'packages/meshbay-node/src/meshbay_node/transport/__init__.py')
| -rw-r--r-- | packages/meshbay-node/src/meshbay_node/transport/__init__.py | 19 |
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", +] |