-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathpyproject.toml
More file actions
83 lines (76 loc) · 1.95 KB
/
pyproject.toml
File metadata and controls
83 lines (76 loc) · 1.95 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
[project]
name = "vcon-server"
version = "0.1.0"
requires-python = ">=3.12,<3.14"
# Core dependencies — shared by both the api and conserver services.
dependencies = [
"opentelemetry-api>=1.38.0",
"opentelemetry-sdk>=1.38.0",
"opentelemetry-exporter-otlp>=1.38.0",
"opentelemetry-distro==0.59b0",
"redis==4.6.0",
"pyyaml>=6.0.1",
"sentry-sdk>=2.8.0",
"pydantic>=2.6.2",
"tenacity>=8.2.3",
"uuid6>=2024.1.12",
"pydash>=7.0.7",
"requests>=2.31.0",
"pycose>=1.0.1",
"ecdsa>=0.18.0",
"python-dotenv>=1.0.1",
"python-json-logger==2.0.4",
"python-dateutil>=2.8.2",
]
[dependency-groups]
# Storage backend packages — needed by both api (reads) and conserver (writes).
# Install with: uv sync --group storage
storage = [
"pymongo>=4.7.2",
"elasticsearch>=8.13.1,<9.0.0",
"pymilvus>=2.3.0",
"msal>=1.32.3",
"boto3>=1.34.52",
"psycopg2-binary>=2.9.9",
"peewee>=3.17.1",
]
# API service dependencies — HTTP layer and API key management.
# Install with: uv sync --group api
api = [
{include-group = "storage"},
"fastapi==0.115.6",
"uvicorn==0.23.2",
"gunicorn>=23.0.0",
"starlette>=0.40.0",
]
# Conserver service dependencies — processing links (ML/AI/audio) and storage backends.
# Install with: uv sync --group conserver
conserver = [
{include-group = "storage"},
# Processing links
"transformers>=4.48.0",
"openai>=1.60.0",
"groq>=0.4.0",
"deepgram-sdk>=3.1.5,<4.0.0",
"slack-sdk>=3.27.1",
"ffmpeg-python>=0.2.0",
"pydub>=0.25.1",
"jq>=1.8.0",
# Hot-reload wrapper used by docker-compose watchmedo
"watchdog",
]
# Development / test dependencies.
dev = [
"black>=24.2.0",
"pytest>=8.3.4",
"pytest-asyncio>=0.23.5",
"pytest-dotenv>=0.5.2",
"pytest-redis>=3.1.3",
"faker>=33.3.1",
"trio>=0.28.0",
"anyio>=4.8.0",
"httpx>=0.27.0",
]
[tool.black]
line-length = 120
skip-string-normalization = true