mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2026-03-21 22:56:47 +00:00
* fix: local processing instead of http server for cpu * add fallback token if service worker doesnt work * chore: rename processors to keep processor pattern up to date and allow other processors to be createed and used with env vars
142 lines
3.2 KiB
TOML
142 lines
3.2 KiB
TOML
[project]
|
|
name = "reflector"
|
|
version = "0.1.0"
|
|
description = ""
|
|
authors = [{ name = "Monadical team", email = "ops@monadical.com" }]
|
|
requires-python = ">=3.11, <3.13"
|
|
readme = "README.md"
|
|
dependencies = [
|
|
"aiohttp>=3.9.0",
|
|
"aiohttp-cors>=0.7.0",
|
|
"av>=15.0.0",
|
|
"requests>=2.31.0",
|
|
"aiortc>=1.5.0",
|
|
"sortedcontainers>=2.4.0",
|
|
"pydantic-settings>=2.0.2",
|
|
"structlog>=23.1.0",
|
|
"uvicorn[standard]>=0.23.1",
|
|
"fastapi[standard]>=0.100.1",
|
|
"sentry-sdk[fastapi]>=1.29.2",
|
|
"httpx>=0.24.1",
|
|
"fastapi-pagination>=0.14.2",
|
|
"databases[aiosqlite, asyncpg]>=0.7.0",
|
|
"sqlalchemy<1.5",
|
|
"alembic>=1.11.3",
|
|
"prometheus-fastapi-instrumentator>=6.1.0",
|
|
"sentencepiece>=0.1.99",
|
|
"protobuf>=4.24.3",
|
|
"celery>=5.3.4",
|
|
"redis>=5.0.1",
|
|
"pyjwt[crypto]>=2.8.0",
|
|
"python-multipart>=0.0.6",
|
|
"transformers>=4.36.2",
|
|
"jsonschema>=4.23.0",
|
|
"openai>=1.59.7",
|
|
"psycopg2-binary>=2.9.10",
|
|
"llama-index>=0.12.52",
|
|
"llama-index-llms-openai-like>=0.4.0",
|
|
"pytest-env>=1.1.5",
|
|
"webvtt-py>=0.5.0",
|
|
"icalendar>=6.0.0",
|
|
"hatchet-sdk>=0.47.0",
|
|
"pydantic>=2.12.5",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"black>=24.1.1",
|
|
"stamina>=23.1.0",
|
|
"pyinstrument>=4.6.1",
|
|
]
|
|
tests = [
|
|
"pytest-cov>=4.1.0",
|
|
"pytest-aiohttp>=1.0.4",
|
|
"pytest-asyncio>=0.21.1",
|
|
"pytest>=7.4.0",
|
|
"httpx-ws>=0.4.1",
|
|
"pytest-httpx>=0.23.1",
|
|
"pytest-celery>=0.0.0",
|
|
"pytest-recording>=0.13.4",
|
|
"pytest-docker>=3.2.3",
|
|
"asgi-lifespan>=2.1.0",
|
|
]
|
|
aws = ["aioboto3>=11.2.0"]
|
|
evaluation = [
|
|
"jiwer>=3.0.2",
|
|
"levenshtein>=0.21.1",
|
|
"tqdm>=4.66.0",
|
|
"pydantic>=2.1.1",
|
|
]
|
|
local = [
|
|
"faster-whisper>=0.10.0",
|
|
]
|
|
silero-vad = [
|
|
"silero-vad==5.1.2",
|
|
"torch>=2.8.0",
|
|
"torchaudio>=2.8.0",
|
|
"pyannote.audio==3.4.0",
|
|
"pytorch-lightning<2.6",
|
|
"librosa==0.10.1",
|
|
]
|
|
|
|
[tool.uv]
|
|
default-groups = [
|
|
"dev",
|
|
"tests",
|
|
"aws",
|
|
"evaluation",
|
|
"local",
|
|
"silero-vad"
|
|
]
|
|
|
|
[[tool.uv.index]]
|
|
name = "pytorch-cpu"
|
|
url = "https://download.pytorch.org/whl/cpu"
|
|
explicit = true
|
|
|
|
[tool.uv.sources]
|
|
torch = [
|
|
{ index = "pytorch-cpu" },
|
|
]
|
|
torchaudio = [
|
|
{ index = "pytorch-cpu" },
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["reflector"]
|
|
|
|
[tool.coverage.run]
|
|
source = ["reflector"]
|
|
|
|
[tool.pytest_env]
|
|
ENVIRONMENT = "pytest"
|
|
DATABASE_URL = "postgresql://test_user:test_password@localhost:15432/reflector_test"
|
|
AUTH_BACKEND = "jwt"
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "-ra -q --disable-pytest-warnings --cov --cov-report html -v"
|
|
testpaths = ["tests"]
|
|
asyncio_mode = "auto"
|
|
markers = [
|
|
"model_api: tests for the unified model-serving HTTP API (backend- and hardware-agnostic)",
|
|
]
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"I", # isort - import sorting
|
|
"F401", # unused imports
|
|
"E402", # module level import not at top of file
|
|
"PLC0415", # import-outside-top-level - detect inline imports
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"reflector/processors/summary/summary_builder.py" = ["E501"]
|
|
"gpu/modal_deployments/**.py" = ["PLC0415"]
|
|
"reflector/tools/**.py" = ["PLC0415"]
|
|
"migrations/versions/**.py" = ["PLC0415"]
|
|
"tests/**.py" = ["PLC0415"]
|