[project] name = "ai-service" version = "0.1.0" description = "Python AI Service for intelligent chat with RAG support" readme = "README.md" requires-python = ">=3.10" dependencies = [ "fastapi>=0.109.0", "uvicorn[standard]>=0.27.0", "pydantic>=2.5.0", "pydantic-settings>=2.1.0", "sse-starlette>=2.0.0", "httpx>=0.26.0", "tenacity>=8.2.0", "sqlmodel>=0.0.14", "asyncpg>=0.29.0", "qdrant-client>=1.9.0,<2.0.0", "tiktoken>=0.5.0", "openpyxl>=3.1.0", "python-docx>=1.1.0", "pymupdf>=1.23.0", "pdfplumber>=0.10.0", "python-multipart>=0.0.6", ] [project.optional-dependencies] dev = [ "pytest>=7.4.0", "pytest-asyncio>=0.23.0", "pytest-cov>=4.1.0", "httpx>=0.26.0", "ruff>=0.1.0", "mypy>=1.8.0", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["app"] [tool.ruff] line-length = 120 target-version = "py310" [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP"] [tool.mypy] python_version = "3.10" strict = true warn_return_any = true warn_unused_configs = true [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"]