Files
devplacepy/pyproject.toml
T
retoorandClaude Sonnet 5.5 42b81271b8 Add community node socket: devices, tickets, consent gate, kill switch
Phase 3 of plan.md. Device registration with one-time secrets, scoped single-use
socket tickets, the lock-owner WS /nodes/ws with handshake and heartbeat eviction,
a single batch ConsentGate, and NodesService which disconnects nodes within one tick
when consent, device or the nodes_enabled kill switch changes. A reconcile of 2000
sessions measured about 110 ms after replacing per-session queries with batches.
Devii may withdraw but never grant bandwidth_sharing.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-14 09:14:53 +02:00

62 lines
1.3 KiB
TOML

[project]
name = "devplacepy"
version = "1.0.21"
description = "DevPlace - The Developer Social Network"
requires-python = ">=3.12"
dependencies = [
"fastapi",
"uvicorn[standard]",
"jinja2",
"python-multipart",
"dataset",
"passlib[bcrypt]",
"python-dotenv",
"aiofiles",
"httpx[http2]",
"curl_cffi",
"brotli",
"zstandard",
"cryptography",
"PyJWT",
"multiavatar",
"locust",
"Pillow",
"imagehash",
"uuid_utils",
"mistune",
"emoji",
"pypdf",
"playwright",
"playwright-stealth",
"chromadb",
"weasyprint",
"cairosvg",
"sqlglot",
"curl_cffi",
"faker",
"defusedxml",
]
[project.scripts]
devplace = "devplacepy.cli:main"
devii = "devplacepy.services.devii.cli:main"
devplace-xmlrpc = "devplacepy.services.xmlrpc.server:main"
[project.optional-dependencies]
dev = ["pytest", "playwright", "requests", "coverage"]
bots = ["playwright", "faker"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.pytest.ini_options]
testpaths = ["tests/unit", "tests/api", "tests/e2e"]
python_files = ["*.py"]
addopts = "--tb=line -rf -p no:xdist"
filterwarnings = [
"ignore:'crypt' is deprecated",
"ignore:Using `httpx` with `starlette.testclient` is deprecated",
"ignore:invalid escape sequence",
]