pyproject.toml.bak 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. [build-system]
  2. requires = ["setuptools>=61.0.0", "wheel"]
  3. build-backend = "setuptools.build_meta"
  4. [[tool.poetry.source]]
  5. name = "aliyun"
  6. url = "https://mirrors.aliyun.com/pypi/simple"
  7. priority = "primary"
  8. [project]
  9. name = "r2r"
  10. version = "3.5.12"
  11. description = "SciPhi R2R"
  12. readme = "README.md"
  13. license = {text = "MIT"}
  14. authors = [
  15. {name = "Owen Colegrove", email = "owen@sciphi.ai"},
  16. ]
  17. requires-python = ">=3.10,<3.13"
  18. dependencies = [
  19. "aiofiles >=24.1.0,<25.0.0",
  20. "alembic >=1.13.3,<2.0.0",
  21. "fastapi >=0.115.11,<0.116.0",
  22. "httpx >=0.27.0",
  23. "openai >=1.61.0",
  24. "python-dotenv >=1.0.1,<2.0.0",
  25. "psycopg-binary >=3.2.3,<4.0.0",
  26. "requests >=2.31.0,<3.0.0",
  27. "tiktoken >=0.8.0,<0.9.0",
  28. "toml >=0.10.2,<0.11.0",
  29. "types-requests >=2.31.0,<3.0.0",
  30. "types-aiofiles >=24.1.0.20240626,<25.0.0",
  31. "typing-extensions >=4.12.2,<5.0.0",
  32. "pydantic>=2.10.6",
  33. "python-json-logger>=3.2.1",
  34. "filetype>=1.2.0",
  35. ]
  36. [project.optional-dependencies]
  37. core = [
  38. "aiohttp >=3.10.10,<4.0.0",
  39. "aioshutil >=1.5,<2.0",
  40. "aiosqlite >=0.20.0,<0.21.0",
  41. "anthropic >=0.49.0",
  42. "apscheduler >=3.10.4,<4.0.0",
  43. "asyncpg >=0.29.0,<0.30.0",
  44. "azure-ai-inference >=1.0.0b8,<2.0.0",
  45. "azure-ai-ml >=1.24.0,<2.0.0",
  46. "bcrypt >=4.1.3,<5.0.0",
  47. "beautifulsoup4 >=4.12.3,<5.0.0",
  48. "boto3 >=1.35.17,<2.0.0",
  49. "colorlog >=6.9.0,<7.0.0",
  50. "docutils >=0.21.2,<0.22.0",
  51. "epub >=0.5.2,<0.6.0",
  52. "firecrawl-py >=1.13.5",
  53. "fsspec >=2024.6.0,<2025.0.0",
  54. "future >=1.0.0,<2.0.0",
  55. "google-auth >=2.37.0,<3.0.0",
  56. "google-auth-oauthlib >=1.2.1,<2.0.0",
  57. "google-genai >=0.6.0,<0.7.0",
  58. "gunicorn >=21.2.0,<22.0.0",
  59. "hatchet-sdk ==0.47.0",
  60. "litellm >=1.63.14,<1.65.0",
  61. "markdown >=3.6,<4.0",
  62. "mistralai>=1.5.2",
  63. "msg-parser>=1.2.0",
  64. "networkx >=3.3,<4.0",
  65. "numpy >=1.22.4,<1.29.0",
  66. "olefile >=0.47,<0.48",
  67. "ollama >=0.3.1,<0.4.0",
  68. "openpyxl >=3.1.2,<4.0.0",
  69. "orgparse >=0.4.20231004,<0.5.0",
  70. "pdf2image>=1.17.0",
  71. "pillow >=11.1.0,<12.0.0",
  72. "pillow-heif >=0.21.0,<0.22.0",
  73. "psutil >=6.0.0,<7.0.0",
  74. "pydantic[email] >=2.8.2,<3.0.0",
  75. "pyjwt >=2.8.0,<3.0.0",
  76. "pynacl >=1.5.0,<2.0.0",
  77. "pypdf >=4.2.0,<5.0.0",
  78. "pypdf2 >=3.0.1,<4.0.0",
  79. "python-docx >=1.1.0,<2.0.0",
  80. "python-multipart >=0.0.9,<0.0.19",
  81. "python-pptx >=1.0.1,<2.0.0",
  82. "pyyaml >=6.0.1,<7.0.0",
  83. "sendgrid >=6.11.0,<7.0.0",
  84. "mailersend >=0.5.6,<0.6.0",
  85. "sentry-sdk >=2.20.0,<3.0.0",
  86. "sqlalchemy >=2.0.30,<3.0.0",
  87. "striprtf >=0.0.28,<0.0.29",
  88. "supabase >=2.7.4,<3.0.0",
  89. "tokenizers ==0.19",
  90. "unstructured-client ==0.25.5",
  91. "uvicorn >=0.27.0.post1,<0.28.0",
  92. "vecs >=0.4.0,<0.5.0",
  93. "xlrd >=2.0.1,<3.0.0",
  94. ]
  95. [dependency-groups]
  96. dev = [
  97. "colorama >=0.4.6,<0.5.0",
  98. "mypy >=1.5.1,<2.0.0",
  99. "pre-commit >=2.9,<3.0",
  100. "pytest >=8.2.0,<9.0.0",
  101. "pytest-asyncio >=0.23.6,<0.24.0",
  102. "pytest-dependency >=0.6.0,<0.7.0",
  103. "pytest-mock >=3.14.0,<4.0.0",
  104. "pytest-cov>=5.0.0,<6.0.0",
  105. "pytest-html >=4.1.1,<5.0.0",
  106. "types-toml >=0.10.8,<0.11.0",
  107. "pytest-xdist >=3.6.1,<4.0.0",
  108. "ruff >=0.9.6,<0.10.0",
  109. ]
  110. tools = [
  111. "biopython>=1.85",
  112. "colorama >=0.4.6,<0.5.0",
  113. "firecrawl-py>=1.13.5",
  114. "numpy>=1.26.4",
  115. "pandas>=2.2.3",
  116. "scipy>=1.15.2",
  117. "simpy>=4.1.1",
  118. "statsmodels>=0.14.4",
  119. ]
  120. [project.scripts]
  121. r2r-serve = "r2r.serve:run_server"
  122. [tool.ruff]
  123. exclude = ["py/tests/*"]
  124. line-length = 79
  125. target-version = "py310"
  126. select = ["E", "F", "I", "B"]
  127. ignore = ["B008", "B024", "B026", "E501", "F402", "F403", "F405", "F841"]
  128. [tool.ruff.format]
  129. quote-style = "double"
  130. indent-style = "space"
  131. line-ending = "auto"
  132. [tool.mypy]
  133. ignore_missing_imports = true
  134. exclude = 'core/parsers/media/pyzerox/.*|playground/.*|deprecated/.*|dump/.*|docs/source|vecs/*|core/examples/*|sdk/examples/*|tests/*'
  135. [[tool.mypy.overrides]]
  136. module = "yaml"
  137. ignore_missing_imports = true
  138. [tool.pytest.ini_options]
  139. asyncio_mode = "auto"
  140. addopts = "--cov=r2r --cov-report=term-missing --cov-report=xml --cache-clear"
  141. testpaths = [
  142. "tests",
  143. ]
  144. filterwarnings = [
  145. "ignore::DeprecationWarning",
  146. "ignore::pytest.PytestUnraisableExceptionWarning",
  147. ]
  148. [tool.setuptools]
  149. packages = { find = { where = [ "." ], include = [ "r2r*", "sdk*", "shared*", "core*" ] } }
  150. include-package-data = true
  151. [tool.setuptools.package-data]
  152. core = ["configs/*.toml", "providers/database/prompts/*.yaml"]
  153. r2r = ["r2r.toml"]