[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "mobilityops-api" version = "0.0.1" description = "MobilityOps API scaffold" requires-python = ">=3.12" dependencies = [ "fastapi>=0.115,<1", "uvicorn[standard]>=0.30,<1", "pydantic-settings>=2.5,<3", "sqlalchemy>=2.0,<3", "psycopg[binary]>=3.2,<4", "alembic>=1.13,<2", "httpx>=0.27,<1", "authlib>=1.6,<2", "itsdangerous>=2.2,<3", "prometheus-client>=0.24,<1" ] [project.optional-dependencies] dev = [ "pytest>=8,<9", # Starlette's TestClient (>=1.0) prefers httpx2 and warns when only httpx is present. "httpx2>=2.10,<3", "ruff>=0.8,<1", "mypy>=1.13,<2" ] [tool.hatch.build.targets.wheel] packages = ["app"] [tool.pytest.ini_options] testpaths = ["tests"] [tool.ruff] line-length = 100 extend-exclude = ["alembic/versions", "seed"] [tool.ruff.lint] select = ["E", "F", "I", "B", "UP"] ignore = ["B008"]