[project] name = "agentic-rag" version = "0.8.0" description = "Agentic RAG application for manufacturing standards and regulations" readme = "README.md" requires-python = ">=3.12" dependencies = [ "fastapi>=0.104.0", "uvicorn[standard]>=0.24.0", "pydantic>=2.5.0", "pydantic-settings>=2.1.0", "langchain>=0.3.0", "langchain-openai>=0.2.0", "langchain-community>=0.3.0", "langgraph>=0.6.0", "langgraph-checkpoint-postgres>=0.1.1", "psycopg[binary]>=3.1.0", "httpx>=0.25.0", "tenacity>=8.2.3", "python-multipart>=0.0.6", "pyyaml>=6.0.1", "jinja2>=3.1.0", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["service"] # ------- 这里开始是国内镜像配置(uv 原生方式)------- [[tool.uv.index]] name = "tsinghua" url = "https://pypi.tuna.tsinghua.edu.cn/simple/" default = true [[tool.uv.index]] name = "aliyun" url = "https://mirrors.aliyun.com/pypi/simple/" # ----------------------------------------------- # 为 `uv pip` 子命令提供兼容的 pip 风格索引设置 [tool.uv.pip] index-url = "https://pypi.tuna.tsinghua.edu.cn/simple/" extra-index-url = [ "https://mirrors.aliyun.com/pypi/simple/", "https://mirrors.bfsu.edu.cn/pypi/web/simple/" ] [tool.black] line-length = 88 target-version = ['py312'] [tool.ruff] target-version = "py312" line-length = 88 select = ["E", "F", "W", "I", "N", "UP", "B", "A", "C4", "PT"] ignore = ["E501", "B008"] [tool.mypy] python_version = "3.12" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true [dependency-groups] dev = [ "black>=25.1.0", "httpx>=0.28.1", "mypy>=1.17.1", "pytest>=8.4.1", "pytest-asyncio>=1.1.0", "pytest-httpx>=0.35.0", "pytest-mock>=3.14.1", "ruff>=0.12.9", ]