Sunstead trust scoring project
1[project]
2name = "tangled-trust"
3version = "0.1.0"
4description = "Hybrid contributor trust scoring for Tangled (EigenTrust + Claude)"
5requires-python = ">=3.11"
6dependencies = [
7 "duckdb>=1.1",
8 "numpy>=1.26",
9 "scipy>=1.11",
10 "fastapi>=0.115",
11 "uvicorn>=0.30",
12 "websockets>=12",
13 "anthropic>=0.40",
14 "httpx>=0.27",
15 "pydantic>=2.7",
16]
17
18# Stretch milestones (M5 LightGBM, M6 GraphSAGE). Not needed for M0-M4.
19# Install with: uv pip install -e '.[learned]' / '.[gnn]'
20# shap dropped on purpose: LightGBM's native pred_contrib gives TreeSHAP values
21# without the shap/numba dependency (which lags new Python versions).
22learned = ["lightgbm>=4.3", "scikit-learn>=1.4"]
23gnn = ["torch>=2.2", "torch-geometric>=2.5"]
24
25[project.scripts]
26trust-ingest = "trust.ingest:main"
27trust-score = "trust.score:main"
28trust-api = "trust.api:main"
29trust-seed = "trust.seed:main"
30trust-train = "trust.learned:main"
31trust-embed = "trust.embed:main"
32trust-diffs = "trust.diffs:main"
33trust-content = "trust.content:main"
34trust-gnn = "trust.gnn:main"
35trust-publish = "trust.atproto:main"
36
37[build-system]
38requires = ["hatchling"]
39build-backend = "hatchling.build"
40
41[tool.hatch.build.targets.wheel]
42packages = ["src/trust"]
43
44[tool.ruff]
45line-length = 100