[project] name = "dotb-ai-platform" version = "2.0.0" description = "Shared AI lead scoring service" requires-python = ">=3.13" dependencies = [ "fastapi>=0.115,<1", "uvicorn[standard]>=0.30,<1", "pydantic>=2.8,<3", "pydantic-settings>=2.4,<3", "sqlalchemy[asyncio]>=2.0.30,<3", "asyncpg>=0.30,<1", "alembic>=1.13,<2", "pwdlib[argon2]>=0.2,<1", "httpx>=0.27", ] [project.scripts] ai-platform = "ai_platform.cli:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/ai_platform"] [dependency-groups] dev = [ "pytest>=8", "pytest-asyncio>=0.23", "ruff>=0.5", "pyright>=1.1.414", "import-linter>=2.15", "pre-commit==4.3.0", ] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] pythonpath = ["src"] [tool.ruff] line-length = 100 target-version = "py313" src = ["src", "tests"] [tool.ruff.lint] select = ["E4", "E7", "E9", "F"] [tool.ruff.lint.per-file-ignores] "src/ai_platform/presentation/http/*.py" = ["B008"]