diff options
Diffstat (limited to 'packages/meshbay-node')
| -rw-r--r-- | packages/meshbay-node/pyproject.toml | 11 | ||||
| -rw-r--r-- | packages/meshbay-node/src/meshbay_node/transport/__init__.py | 19 |
2 files changed, 21 insertions, 9 deletions
diff --git a/packages/meshbay-node/pyproject.toml b/packages/meshbay-node/pyproject.toml index 48231ad..805871e 100644 --- a/packages/meshbay-node/pyproject.toml +++ b/packages/meshbay-node/pyproject.toml @@ -9,12 +9,13 @@ description = "MeshBay Node — local file host, streaming server, and group dae requires-python = ">=3.12" dependencies = [ "meshbay-common>=0.1.0", - "fastapi>=0.115", # local web UI on localhost:18000 + "fastapi>=0.115", # local web UI on localhost:18000 "uvicorn[standard]>=0.30", - "httpx>=0.28", # hub client - "watchdog>=5.0", # directory monitoring - "aioice>=0.9", # ICE/STUN for NAT traversal - # aioquic>=1.0 added in v2 (QUIC transport) + "httpx>=0.28", # hub client + "watchdog>=5.0", # directory monitoring + "aioice>=0.9", # ICE/STUN for NAT traversal + "aioquic>=1.0", # QUIC transport (MNP v2) — implemented in Phase 5 + "websockets>=12.0", # hub→node revocation push ] [project.optional-dependencies] 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", +] |