[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "notify-bridge-server" version = "0.8.0" description = "Standalone Notify Bridge server — FastAPI REST API with SQLite database" requires-python = ">=3.12" dependencies = [ "notify-bridge-core>=0.1.0", "fastapi>=0.115", "uvicorn[standard]>=0.32", "sqlmodel>=0.0.22", "aiosqlite>=0.20", "pyjwt>=2.9", "bcrypt>=4.2", "apscheduler>=3.10,<4", "aiohttp>=3.9", "pydantic-settings>=2.0", "slowapi>=0.1.9", "cachetools>=5.3", "python-multipart>=0.0.9", "prometheus_client>=0.20", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "pytest-asyncio>=0.23", "httpx>=0.27", "aioresponses>=0.7", ] [project.scripts] notify-bridge = "notify_bridge_server.main:run" [tool.hatch.build.targets.wheel] packages = ["src/notify_bridge_server"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] # The default filter doesn't let SQLAlchemy warnings fail the suite, which # matters because our migrations emit a handful of deprecation warnings we # don't want to suppress at source. filterwarnings = [ "ignore::DeprecationWarning:passlib", "ignore::DeprecationWarning:bcrypt", ]