aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/pyproject.toml
blob: 897b5e9e0154304aeed794842e6c9ff3f081d1f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "meshbay-node"
version = "0.3.0"
description = "MeshBay Node — local file host, streaming server, and group daemon"
requires-python = ">=3.12"
dependencies = [
    "meshbay-common>=0.3.0",
    "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",             # QUIC transport (MNP v2) — implemented in Phase 5
    "websockets>=12.0",         # hub→node revocation push
    "aiortc>=1.9",               # WebRTC DataChannel for browser P2P (Phase 9)
    "aiosqlite>=0.20",           # async SQLite for chat, audit, bundle stores
]

[project.optional-dependencies]
dev = ["pytest>=8", "pytest-asyncio>=0.24", "ruff>=0.6"]

[project.scripts]
meshbay-node = "meshbay_node.daemon:main"

[tool.hatch.build.targets.wheel]
packages = ["src/meshbay_node"]

# RPM/DEB: meshbay-node
# Systemd service: meshbay-node.service
# Config: /etc/meshbay/node.conf  (or ~/.config/meshbay/node.conf per-user)
# Data: ~/.local/share/meshbay/node/
# Keystore: ~/.config/meshbay/keystore.enc
# Local UI: http://localhost:18000