summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/meshbay-hub/pyproject.toml6
-rw-r--r--packages/meshbay-node/pyproject.toml11
-rw-r--r--packages/meshbay-node/src/meshbay_node/transport/__init__.py19
3 files changed, 26 insertions, 10 deletions
diff --git a/packages/meshbay-hub/pyproject.toml b/packages/meshbay-hub/pyproject.toml
index e0a880a..5487a6a 100644
--- a/packages/meshbay-hub/pyproject.toml
+++ b/packages/meshbay-hub/pyproject.toml
@@ -13,8 +13,12 @@ dependencies = [
"uvicorn[standard]>=0.30",
"sqlalchemy>=2.0",
"alembic>=1.13",
- "asyncpg>=0.30", # PostgreSQL async driver
+ "asyncpg>=0.30", # PostgreSQL async driver
+ "aiosqlite>=0.20", # SQLite async (tests + dev without PostgreSQL)
"httpx>=0.28",
+ "slowapi>=0.1", # rate limiting
+ "PyJWT>=2.9", # JWT EdDSA (also in meshbay-common but explicit here)
+ "websockets>=12.0", # hub→node revocation push
]
[project.optional-dependencies]
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",
+]