content: [tool.poetry]
  name = "open-assistant-api"
  version = "0.1.0"
  description = ""
  authors = ["Tuanzi1015 <tuanzi1015@gmail.com>"]
  readme = "README.md"
  
  [tool.black]
  target-version = ["py310"]
  line-length = 120
  exclude = '''(
    /(
        migrations
      | tests/e2e
    )/
  )'''
  
  [tool.ruff]
  exclude = ["migrations", "tests/e2e"]
  # https://docs.astral.sh/ruff/rules
  select = ["E", "F", "N", "PIE", "T20", "Q"]
  line-length = 120
  
  
  [tool.poetry.dependencies]
  python = ">=3.10,<3.13"
  celery = ">=5.3.4,<5.4.0"
  sqlakeyset = ">=2.0.1680321678,<2.1.0"
  loguru = ">=0.6.0,<0.7.0"
  sqlmodel = ">=0.0.11,<0.1.0"
  uvicorn = "^0.27.1"
  pymysql = ">=1.1.0,<1.2.0"
  python-multipart = ">=0.0.7,<0.1.0"
  redis = ">=5.0.1,<5.1.0"
  orjson = ">=3.9.10,<3.10.0"
  boto3 = ">=1.33.0,<1.34.0"
  openai = "1.27.0"
  python-magic = ">=0.4.27,<0.5.0"
  beautifulsoup4 = ">=4.12.2,<4.13.0"
  pymupdf = ">=1.23.7,<1.24.0"
  alembic = ">=1.13.0,<1.14.0"
  aiohttp = ">=3.9.2,<4.0.0"
  pydantic = { version = ">=2,<3", extras = ["dotenv"] }
  sse-starlette = "^1.8.2"
  openapi-spec-validator = "^0.7.1"
  pycryptodome = "^3.20.0"
  lxml = "^5.1.0"
  aiomysql = "^0.2.0"
  greenlet = "^3.0.3"
  gevent = "^24.2.1"
  pydantic-settings = "^2.4.0"
  langchain = "^0.2.12"
  langchain-community = "^0.2.11"
  fastapi = ">=0.109.2,<=0.112.0"
  fastapi-pagination = "^0.12.26"
  httpx = "^0.27.0"
  distro = "^1.9.0"
  aiofiles = "^24.1.0"
  r2r = "^0.3.4"
  pyjwt = "^2.9.0"
  
  
  [tool.poetry.group.dev.dependencies]
  black = "^24.3.0"
  ruff = "^0.1.9"
  pytest = "^7.4.3"
  pytest-asyncio = "^0.23.2"
  
  [build-system]
  requires = ["poetry-core"]
  build-backend = "poetry.core.masonry.api"
  