[project] name = "ds-chat" version = "1.1.0" 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"