-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathpyproject.toml
More file actions
59 lines (53 loc) · 1.91 KB
/
Copy pathpyproject.toml
File metadata and controls
59 lines (53 loc) · 1.91 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
[project]
name = "nerve"
version = "0.1.0"
description = "Personal AI assistant — lightweight, single-process, purpose-built"
readme = "README.md"
requires-python = ">=3.12"
license = { text = "Apache-2.0" }
dependencies = [
"fastapi>=0.115.0",
"uvicorn[standard]>=0.34.0",
"aiosqlite>=0.21.0",
"pyyaml>=6.0",
"python-telegram-bot>=21.0",
"claude-agent-sdk>=0.2.82",
"apscheduler>=3.11.0",
"pyjwt>=2.10.0",
"bcrypt>=4.2.0",
"httpx>=0.28.0",
"websockets>=14.0",
"click>=8.1.0",
"telethon>=1.38.0",
# [bedrock] pulls boto3/botocore, required by AnthropicBedrock for AWS SigV4
# request signing (session title generation and other direct-SDK fast-model calls).
"anthropic[bedrock]>=0.45.0", # used by memu_bridge for event date resolution
"memu-py==1.4.0", # pinned — nerve monkey-patches memU internals (see memu_bridge._patch_sqlite_bugs)
"watchfiles>=1.0.0",
"html2text>=2024.2.26",
# Optional xmemory.ai structured-memory layer — only active when an
# xmemory api_key + instance_id are configured (see XmemoryConfig).
"xmemory-ai>=0.5.3",
# Optional observability stack — only active when langfuse keys are
# configured. All three are pure-Python wheels.
"langfuse>=3.0.0",
"langsmith[claude-agent-sdk]>=0.4.0",
"opentelemetry-instrumentation-anthropic>=0.40.0",
]
[project.optional-dependencies]
# Test/dev dependencies. Install with: uv pip install -e ".[test]"
# Upper bounds guard CI against surprise major-version breaks (notably the
# pytest-asyncio 1.x event_loop changes the suite's conftest relies on).
test = [
"pytest>=8,<10",
"pytest-asyncio>=0.24,<2",
]
[project.scripts]
nerve = "nerve.cli:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["nerve"]
[tool.hatch.build.targets.wheel.force-include]
"nerve/templates" = "nerve/templates"