123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- [build-system]
- requires = ["setuptools>=61.0.0", "wheel"]
- build-backend = "setuptools.build_meta"
- [[tool.poetry.source]]
- name = "aliyun"
- url = "https://mirrors.aliyun.com/pypi/simple"
- priority = "primary"
- [project]
- name = "r2r"
- version = "3.5.12"
- description = "SciPhi R2R"
- readme = "README.md"
- license = {text = "MIT"}
- authors = [
- {name = "Owen Colegrove", email = "owen@sciphi.ai"},
- ]
- requires-python = ">=3.10,<3.13"
- dependencies = [
- "aiofiles >=24.1.0,<25.0.0",
- "alembic >=1.13.3,<2.0.0",
- "fastapi >=0.115.11,<0.116.0",
- "httpx >=0.27.0",
- "openai >=1.61.0",
- "python-dotenv >=1.0.1,<2.0.0",
- "psycopg-binary >=3.2.3,<4.0.0",
- "requests >=2.31.0,<3.0.0",
- "tiktoken >=0.8.0,<0.9.0",
- "toml >=0.10.2,<0.11.0",
- "types-requests >=2.31.0,<3.0.0",
- "types-aiofiles >=24.1.0.20240626,<25.0.0",
- "typing-extensions >=4.12.2,<5.0.0",
- "pydantic>=2.10.6",
- "python-json-logger>=3.2.1",
- "filetype>=1.2.0",
- ]
- [project.optional-dependencies]
- core = [
- "aiohttp >=3.10.10,<4.0.0",
- "aioshutil >=1.5,<2.0",
- "aiosqlite >=0.20.0,<0.21.0",
- "anthropic >=0.49.0",
- "apscheduler >=3.10.4,<4.0.0",
- "asyncpg >=0.29.0,<0.30.0",
- "azure-ai-inference >=1.0.0b8,<2.0.0",
- "azure-ai-ml >=1.24.0,<2.0.0",
- "bcrypt >=4.1.3,<5.0.0",
- "beautifulsoup4 >=4.12.3,<5.0.0",
- "boto3 >=1.35.17,<2.0.0",
- "colorlog >=6.9.0,<7.0.0",
- "docutils >=0.21.2,<0.22.0",
- "epub >=0.5.2,<0.6.0",
- "firecrawl-py >=1.13.5",
- "fsspec >=2024.6.0,<2025.0.0",
- "future >=1.0.0,<2.0.0",
- "google-auth >=2.37.0,<3.0.0",
- "google-auth-oauthlib >=1.2.1,<2.0.0",
- "google-genai >=0.6.0,<0.7.0",
- "gunicorn >=21.2.0,<22.0.0",
- "hatchet-sdk ==0.47.0",
- "litellm >=1.63.14,<1.65.0",
- "markdown >=3.6,<4.0",
- "mistralai>=1.5.2",
- "msg-parser>=1.2.0",
- "networkx >=3.3,<4.0",
- "numpy >=1.22.4,<1.29.0",
- "olefile >=0.47,<0.48",
- "ollama >=0.3.1,<0.4.0",
- "openpyxl >=3.1.2,<4.0.0",
- "orgparse >=0.4.20231004,<0.5.0",
- "pdf2image>=1.17.0",
- "pillow >=11.1.0,<12.0.0",
- "pillow-heif >=0.21.0,<0.22.0",
- "psutil >=6.0.0,<7.0.0",
- "pydantic[email] >=2.8.2,<3.0.0",
- "pyjwt >=2.8.0,<3.0.0",
- "pynacl >=1.5.0,<2.0.0",
- "pypdf >=4.2.0,<5.0.0",
- "pypdf2 >=3.0.1,<4.0.0",
- "python-docx >=1.1.0,<2.0.0",
- "python-multipart >=0.0.9,<0.0.19",
- "python-pptx >=1.0.1,<2.0.0",
- "pyyaml >=6.0.1,<7.0.0",
- "sendgrid >=6.11.0,<7.0.0",
- "mailersend >=0.5.6,<0.6.0",
- "sentry-sdk >=2.20.0,<3.0.0",
- "sqlalchemy >=2.0.30,<3.0.0",
- "striprtf >=0.0.28,<0.0.29",
- "supabase >=2.7.4,<3.0.0",
- "tokenizers ==0.19",
- "unstructured-client ==0.25.5",
- "uvicorn >=0.27.0.post1,<0.28.0",
- "vecs >=0.4.0,<0.5.0",
- "xlrd >=2.0.1,<3.0.0",
- ]
- [dependency-groups]
- dev = [
- "colorama >=0.4.6,<0.5.0",
- "mypy >=1.5.1,<2.0.0",
- "pre-commit >=2.9,<3.0",
- "pytest >=8.2.0,<9.0.0",
- "pytest-asyncio >=0.23.6,<0.24.0",
- "pytest-dependency >=0.6.0,<0.7.0",
- "pytest-mock >=3.14.0,<4.0.0",
- "pytest-cov>=5.0.0,<6.0.0",
- "pytest-html >=4.1.1,<5.0.0",
- "types-toml >=0.10.8,<0.11.0",
- "pytest-xdist >=3.6.1,<4.0.0",
- "ruff >=0.9.6,<0.10.0",
- ]
- tools = [
- "biopython>=1.85",
- "colorama >=0.4.6,<0.5.0",
- "firecrawl-py>=1.13.5",
- "numpy>=1.26.4",
- "pandas>=2.2.3",
- "scipy>=1.15.2",
- "simpy>=4.1.1",
- "statsmodels>=0.14.4",
- ]
- [project.scripts]
- r2r-serve = "r2r.serve:run_server"
- [tool.ruff]
- exclude = ["py/tests/*"]
- line-length = 79
- target-version = "py310"
- select = ["E", "F", "I", "B"]
- ignore = ["B008", "B024", "B026", "E501", "F402", "F403", "F405", "F841"]
- [tool.ruff.format]
- quote-style = "double"
- indent-style = "space"
- line-ending = "auto"
- [tool.mypy]
- ignore_missing_imports = true
- exclude = 'core/parsers/media/pyzerox/.*|playground/.*|deprecated/.*|dump/.*|docs/source|vecs/*|core/examples/*|sdk/examples/*|tests/*'
- [[tool.mypy.overrides]]
- module = "yaml"
- ignore_missing_imports = true
- [tool.pytest.ini_options]
- asyncio_mode = "auto"
- addopts = "--cov=r2r --cov-report=term-missing --cov-report=xml --cache-clear"
- testpaths = [
- "tests",
- ]
- filterwarnings = [
- "ignore::DeprecationWarning",
- "ignore::pytest.PytestUnraisableExceptionWarning",
- ]
- [tool.setuptools]
- packages = { find = { where = [ "." ], include = [ "r2r*", "sdk*", "shared*", "core*" ] } }
- include-package-data = true
- [tool.setuptools.package-data]
- core = ["configs/*.toml", "providers/database/prompts/*.yaml"]
- r2r = ["r2r.toml"]
|