From 271adc8504aad32075d75d06fd42023877a649ec Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Sun, 9 Aug 2026 03:52:58 +0200 Subject: chore: initialize monorepo structure for MeshBay 3-package layout: meshbay-common (shared crypto/protocol), meshbay-hub (FastAPI server), meshbay-node (local daemon). Includes validated POC spikes 1-6 in poc/, architecture drafts v1/v2 in docs/, and CLAUDE.md project conventions. All cryptographic primitives extracted from POC into meshbay_common/crypto.py (GEK wrap/unwrap, chunk key derivation, keystore encryption, chunk signing). Co-Authored-By: Claude Sonnet 4.6 (1M context) --- packages/meshbay-hub/pyproject.toml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 packages/meshbay-hub/pyproject.toml (limited to 'packages/meshbay-hub/pyproject.toml') diff --git a/packages/meshbay-hub/pyproject.toml b/packages/meshbay-hub/pyproject.toml new file mode 100644 index 0000000..e0a880a --- /dev/null +++ b/packages/meshbay-hub/pyproject.toml @@ -0,0 +1,32 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "meshbay-hub" +version = "0.1.0" +description = "MeshBay Hub — identity authority and group registry server" +requires-python = ">=3.12" +dependencies = [ + "meshbay-common>=0.1.0", + "fastapi>=0.115", + "uvicorn[standard]>=0.30", + "sqlalchemy>=2.0", + "alembic>=1.13", + "asyncpg>=0.30", # PostgreSQL async driver + "httpx>=0.28", +] + +[project.optional-dependencies] +dev = ["pytest>=8", "pytest-asyncio>=0.24", "ruff>=0.6", "httpx>=0.28"] + +[project.scripts] +meshbay-hub = "meshbay_hub.daemon:main" + +[tool.hatch.build.targets.wheel] +packages = ["src/meshbay_hub"] + +# RPM/DEB: meshbay-hub +# Systemd service: meshbay-hub.service +# Config: /etc/meshbay/hub.conf +# Data: /var/lib/meshbay/hub/ -- cgit v1.2.3