[project] name = "pipu-rec" version = "0.1.0" description = "Pipu Music: recommendations and audio analysis" requires-python = ">=3.12,<3.13" dependencies = [ "fastapi>=0.115,<1", "uvicorn[standard]>=0.34,<1", "pydantic-settings>=2.9,<3", "psycopg[binary]>=3.2,<4", "redis>=6.2,<7", ] [project.scripts] pipu-rec = "pipu_rec.cli:main" [dependency-groups] dev = [ "pytest>=8.4,<9", "httpx>=0.28,<1", "ruff>=0.12,<1", "mypy>=1.16,<2", ] [build-system] requires = ["hatchling>=1.27"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["pipu_rec"] [tool.ruff] line-length = 110 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "W", "I", "B", "UP", "SIM", "RUF"] [tool.mypy] strict = true python_version = "3.12" plugins = ["pydantic.mypy"] [tool.pytest.ini_options] testpaths = ["tests"]