Private
Public Access
53 lines
1.4 KiB
TOML
53 lines
1.4 KiB
TOML
[project]
|
|
name = "ds-chat"
|
|
version = "2026.9.4"
|
|
description = "DS Chat backend service"
|
|
license = { text = "AGPL-3.0-or-later" }
|
|
requires-python = ">=3.11"
|
|
dependencies = [
|
|
"fastapi>=0.115",
|
|
"uvicorn[standard]>=0.32",
|
|
"sqlalchemy>=2.0.36",
|
|
"asyncpg>=0.30",
|
|
"alembic>=1.14",
|
|
"pydantic>=2.9",
|
|
"pydantic[email]>=2.9",
|
|
"pydantic-settings>=2.6",
|
|
"argon2-cffi>=23.1",
|
|
"itsdangerous>=2.2",
|
|
# #56: >=2.0 let the production venv sit on an old 2.0.x with no real
|
|
# downside to bumping the floor -- worth keeping current regardless.
|
|
# Doesn't by itself fix WNS (Windows/Edge push): despite
|
|
# web-push-libs/pywebpush#162's discussion, even the latest release
|
|
# (2.4.0) has no WNS-specific header handling in its own source. The
|
|
# actual fix is app/services/push_service.py adding the required
|
|
# X-WNS-Cache-Policy header itself via webpush()'s `headers` param.
|
|
"pywebpush>=2.4.0",
|
|
"redis>=5.0",
|
|
"httpx>=0.27",
|
|
"gunicorn>=23.0",
|
|
"Pillow>=10.0",
|
|
"python-multipart>=0.0.9",
|
|
"aiosmtplib>=3.0",
|
|
"cryptography>=43.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
ds-chat-create-user = "app.cli:main"
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8",
|
|
"pytest-asyncio>=0.24",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["app"]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|