Files
onyx/pyproject.toml
2026-02-14 01:57:06 +00:00

218 lines
5.6 KiB
TOML

[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"
[project]
name = "onyx"
version = "0.0.0"
requires-python = ">=3.11"
# Shared dependencies between backend and model_server
dependencies = [
"aioboto3==15.1.0",
"cohere==5.6.1",
"fastapi==0.128.0",
"google-cloud-aiplatform==1.121.0",
"google-genai==1.52.0",
"litellm==1.81.6",
"openai==2.14.0",
"pydantic==2.11.7",
"prometheus_client>=0.21.1",
"prometheus_fastapi_instrumentator==7.1.0",
"retry==0.9.2", # This pulls in py which is in CVE-2022-42969, must remove py from image
"sentry-sdk==2.14.0",
"uvicorn==0.35.0",
"voyageai==0.2.3",
"brotli>=1.2.0",
"claude-agent-sdk>=0.1.19",
"agent-client-protocol>=0.7.1",
"discord-py==2.4.0",
"kubernetes>=31.0.0",
]
[project.optional-dependencies]
# Main backend application dependencies
backend = [
"aiohttp==3.13.3",
"alembic==1.10.4",
"asyncpg==0.30.0",
"atlassian-python-api==3.41.16",
"beautifulsoup4==4.12.3",
"boto3==1.39.11",
"boto3-stubs[s3]==1.39.11",
"celery==5.5.1",
"chardet==5.2.0",
"chonkie==1.0.10",
"dask==2026.1.1",
"ddtrace==3.10.0",
"discord.py==2.4.0",
"distributed==2026.1.1",
"fastapi-users==15.0.4",
"fastapi-users-db-sqlalchemy==7.0.0",
"fastapi-limiter==0.1.6",
"fastmcp==2.14.2",
"filelock==3.20.3",
"google-api-python-client==2.86.0",
"google-auth-httplib2==0.1.0",
"google-auth-oauthlib==1.0.0",
# GPT4All library has issues running on Macs and python:3.11.4-slim-bookworm
# will reintroduce this when library version catches up
# "gpt4all==2.0.2",
"httpcore==1.0.9",
"httpx[http2]==0.28.1",
"httpx-oauth==0.15.1",
"huggingface-hub==0.35.3",
"inflection==0.5.1",
"jira==3.10.5",
"jsonref==1.1.0",
"kubernetes==31.0.0",
"trafilatura==1.12.2",
"langchain-core==1.2.11",
"lazy_imports==1.0.1",
"lxml==5.3.0",
"Mako==1.2.4",
"markitdown[pdf, docx, pptx, xlsx, xls]==0.1.2",
"mcp[cli]==1.25.0",
"msal==1.34.0",
"msoffcrypto-tool==5.4.2",
"Office365-REST-Python-Client==2.5.9",
"oauthlib==3.2.2",
# NOTE: This is frozen to avoid https://foss.heptapod.net/openpyxl/openpyxl/-/issues/2147
"openpyxl==3.0.10",
"opensearch-py==3.0.0",
"passlib==1.7.4",
"playwright==1.55.0",
"psutil==7.1.3",
"psycopg2-binary==2.9.9",
"puremagic==1.28",
"pyairtable==3.0.1",
"pycryptodome==3.19.1",
"PyGithub==2.5.0",
"pympler==1.1",
"python-dateutil==2.8.2",
"python-gitlab==5.6.0",
"python-pptx==0.6.23",
"pypandoc_binary==1.16.2",
"pypdf==6.6.2",
"pytest-mock==3.12.0",
"pytest-playwright==0.7.0",
"python-docx==1.1.2",
"python-dotenv==1.1.1",
"python-multipart==0.0.22",
"pywikibot==9.0.0",
"redis==5.0.8",
"requests==2.32.5",
"requests-oauthlib==1.3.1",
"rfc3986==1.5.0",
"simple-salesforce==1.12.6",
"slack-sdk==3.20.2",
"SQLAlchemy[mypy]==2.0.15",
"starlette==0.49.3",
"supervisor==4.3.0",
"RapidFuzz==3.13.0",
"tiktoken==0.7.0",
"timeago==1.0.16",
"types-openpyxl==3.0.4.7",
"unstructured==0.18.27",
"unstructured-client==0.42.6",
"zulip==0.8.2",
"hubspot-api-client==11.1.0",
"asana==5.0.8",
"dropbox==12.0.2",
"shapely==2.0.6",
"stripe==10.12.0",
"urllib3==2.6.3",
"mistune==3.2.0",
"sendgrid==6.12.5",
"exa_py==1.15.4",
"braintrust==0.3.9",
"langfuse==3.10.0",
"nest_asyncio==1.6.0",
"openinference-instrumentation==0.1.42",
"opentelemetry-proto>=1.39.0",
"python3-saml==1.15.0",
"xmlsec==1.3.14",
]
# Dev tools
dev = [
"black==25.1.0",
"celery-types==0.19.0",
"faker==40.1.2",
"hatchling==1.28.0",
"ipykernel==6.29.5",
"manygo==0.2.0",
"matplotlib==3.10.8",
"mypy-extensions==1.0.0",
"mypy==1.13.0",
"onyx-devtools==0.5.7",
"openapi-generator-cli==7.17.0",
"pandas-stubs~=2.3.3",
"pre-commit==3.2.2",
"pytest-alembic==0.12.1",
"pytest-asyncio==1.3.0",
"pytest-dotenv==0.5.2",
"pytest-repeat==0.9.4",
"pytest-xdist==3.8.0",
"pytest==8.3.5",
"release-tag==0.4.3",
"reorder-python-imports-black==3.14.0",
"ruff==0.12.0",
"types-beautifulsoup4==4.12.0.3",
"types-html5lib==1.1.11.13",
"types-oauthlib==3.2.0.9",
"types-passlib==1.7.7.20240106",
"types-Pillow==10.2.0.20240822",
"types-psutil==7.1.3.20251125",
"types-psycopg2==2.9.21.10",
"types-python-dateutil==2.8.19.13",
"types-PyYAML==6.0.12.11",
"types-pytz==2023.3.1.1",
"types-regex==2023.3.23.1",
"types-requests==2.32.0.20250328",
"types-retry==0.9.9.3",
"types-setuptools==68.0.0.3",
"zizmor==1.18.0",
]
# Enterprise Edition features
ee = [
"posthog==3.7.4",
]
# Model server specific dependencies (ML packages)
model_server = [
"accelerate==1.6.0",
"einops==0.8.1",
"numpy==2.4.1",
"safetensors==0.5.3",
"sentence-transformers==4.0.2",
"torch==2.9.1",
"transformers==4.53.0",
"sentry-sdk[fastapi,celery,starlette]==2.14.0",
]
[tool.uv.workspace]
members = ["backend", "tools/ods"]
[tool.basedpyright]
include = ["backend"]
exclude = ["backend/generated", "backend/onyx/server/features/build/sandbox/kubernetes/docker/skills/pptx", "backend/onyx/server/features/build/sandbox/kubernetes/docker/templates/venv"]
typeCheckingMode = "off"
[tool.ruff]
line-length = 130
target-version = "py311"
[tool.ruff.lint]
ignore = []
select = [
"ARG",
"E",
"F",
"W",
]
[tool.setuptools.packages.find]
where = ["backend"]
include = ["onyx*", "tests*"]