pyproject.toml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. [project]
  2. name = "zhibaotong-s1-backend"
  3. version = "0.1.0"
  4. description = "智保通第一阶段统一后端"
  5. requires-python = ">=3.12,<3.13"
  6. dependencies = [
  7. "alembic>=1.16,<2",
  8. "asyncmy>=0.2,<1",
  9. "fastapi>=0.116,<1",
  10. "httpx>=0.28,<1",
  11. "pydantic>=2.11,<3",
  12. "pydantic-settings>=2.10,<3",
  13. "pwdlib[argon2]>=0.2,<1",
  14. "pyjwt[crypto]>=2.10,<3",
  15. "redis>=6,<8",
  16. "sqlalchemy>=2.0,<3",
  17. "ulid-py>=1.1,<2",
  18. "uvicorn[standard]>=0.35,<1",
  19. "pymysql>=1.1,<2",
  20. "langchain>=1.0,<2",
  21. "langchain-openai>=1.0,<2",
  22. "langsmith>=0.4,<1",
  23. ]
  24. [dependency-groups]
  25. dev = [
  26. "coverage[toml]>=7.9,<8",
  27. "mypy>=1.16,<2",
  28. "pytest>=8.4,<10",
  29. "pytest-asyncio>=1.0,<2",
  30. "ruff>=0.12,<1",
  31. "types-pymysql>=1.1,<2",
  32. ]
  33. [tool.uv]
  34. package = false
  35. [[tool.uv.index]]
  36. url = "https://pypi.tuna.tsinghua.edu.cn/simple"
  37. default = true
  38. [tool.pytest.ini_options]
  39. addopts = "-q"
  40. pythonpath = ["."]
  41. testpaths = ["tests"]
  42. [tool.ruff]
  43. line-length = 100
  44. target-version = "py312"
  45. [tool.ruff.lint]
  46. select = ["E", "F", "I", "UP", "B", "SIM"]
  47. [tool.mypy]
  48. python_version = "3.12"
  49. strict = true
  50. plugins = ["pydantic.mypy"]