mirror of
https://github.com/langgenius/dify.git
synced 2026-03-12 10:38:54 +08:00
Fixes "Failed to detach context" error in production by upgrading to OTEL 0.49b0, which includes None token guards in Celery instrumentor (PR opentelemetry-python-contrib#2927). Package Updates: - OTEL instrumentation: 0.48b0 → 0.49b0 - OTEL SDK/API: 1.27.0 → 1.28.0 - protobuf: 4.25.8 → 5.29.6 (required by opentelemetry-proto 1.28.0) - Google Cloud packages upgraded for protobuf 5.x compatibility: - google-api-core: 2.18.0 → 2.19.1+ - google-auth: 2.29.0 → 2.47.0+ - google-cloud-aiplatform: 1.49.0 → 1.123.0+ - googleapis-common-protos: 1.63.0 → 1.65.0+ - google-cloud-storage: 2.16.0 → 3.0.0+ - httpx: 0.27.0 → 0.28.0 (required by google-genai 1.37+) Also removed duplicate opentelemetry-instrumentation-httpx entry in pyproject.toml.
230 lines
6.6 KiB
TOML
230 lines
6.6 KiB
TOML
[project]
|
|
name = "dify-api"
|
|
version = "1.12.1"
|
|
requires-python = ">=3.11,<3.13"
|
|
|
|
dependencies = [
|
|
"aliyun-log-python-sdk~=0.9.37",
|
|
"arize-phoenix-otel~=0.9.2",
|
|
"azure-identity==1.16.1",
|
|
"beautifulsoup4==4.12.2",
|
|
"boto3==1.35.99",
|
|
"bs4~=0.0.1",
|
|
"cachetools~=5.3.0",
|
|
"celery~=5.5.2",
|
|
"charset-normalizer>=3.4.4",
|
|
"flask~=3.1.2",
|
|
"flask-compress>=1.17,<1.18",
|
|
"flask-cors~=6.0.0",
|
|
"flask-login~=0.6.3",
|
|
"flask-migrate~=4.0.7",
|
|
"flask-orjson~=2.0.0",
|
|
"flask-sqlalchemy~=3.1.1",
|
|
"gevent~=25.9.1",
|
|
"gmpy2~=2.2.1",
|
|
"google-api-core>=2.19.1",
|
|
"google-api-python-client==2.90.0",
|
|
"google-auth>=2.47.0",
|
|
"google-auth-httplib2==0.2.0",
|
|
"google-cloud-aiplatform>=1.123.0",
|
|
"googleapis-common-protos>=1.65.0",
|
|
"gunicorn~=23.0.0",
|
|
"httpx[socks]~=0.28.0",
|
|
"jieba==0.42.1",
|
|
"json-repair>=0.55.1",
|
|
"jsonschema>=4.25.1",
|
|
"langfuse~=2.51.3",
|
|
"langsmith~=0.1.77",
|
|
"markdown~=3.5.1",
|
|
"mlflow-skinny>=3.0.0",
|
|
"numpy~=1.26.4",
|
|
"openpyxl~=3.1.5",
|
|
"opik~=1.8.72",
|
|
"litellm==1.77.1", # Pinned to avoid madoka dependency issue
|
|
"opentelemetry-api==1.28.0",
|
|
"opentelemetry-distro==0.49b0",
|
|
"opentelemetry-exporter-otlp==1.28.0",
|
|
"opentelemetry-exporter-otlp-proto-common==1.28.0",
|
|
"opentelemetry-exporter-otlp-proto-grpc==1.28.0",
|
|
"opentelemetry-exporter-otlp-proto-http==1.28.0",
|
|
"opentelemetry-instrumentation==0.49b0",
|
|
"opentelemetry-instrumentation-celery==0.49b0",
|
|
"opentelemetry-instrumentation-flask==0.49b0",
|
|
"opentelemetry-instrumentation-httpx==0.49b0",
|
|
"opentelemetry-instrumentation-redis==0.49b0",
|
|
"opentelemetry-instrumentation-sqlalchemy==0.49b0",
|
|
"opentelemetry-propagator-b3==1.28.0",
|
|
"opentelemetry-proto==1.28.0",
|
|
"opentelemetry-sdk==1.28.0",
|
|
"opentelemetry-semantic-conventions==0.49b0",
|
|
"opentelemetry-util-http==0.49b0",
|
|
"pandas[excel,output-formatting,performance]~=2.2.2",
|
|
"psycogreen~=1.0.2",
|
|
"psycopg2-binary~=2.9.6",
|
|
"pycryptodome==3.23.0",
|
|
"pydantic~=2.11.4",
|
|
"pydantic-extra-types~=2.10.3",
|
|
"pydantic-settings~=2.11.0",
|
|
"pyjwt~=2.10.1",
|
|
"pypdfium2==5.2.0",
|
|
"python-docx~=1.1.0",
|
|
"python-dotenv==1.0.1",
|
|
"pyyaml~=6.0.1",
|
|
"readabilipy~=0.3.0",
|
|
"redis[hiredis]~=6.1.0",
|
|
"resend~=2.9.0",
|
|
"sentry-sdk[flask]~=2.28.0",
|
|
"sqlalchemy~=2.0.29",
|
|
"starlette==0.49.1",
|
|
"tiktoken~=0.9.0",
|
|
"transformers~=4.56.1",
|
|
"unstructured[docx,epub,md,ppt,pptx]~=0.18.18",
|
|
"yarl~=1.18.3",
|
|
"webvtt-py~=0.5.1",
|
|
"sseclient-py~=1.8.0",
|
|
"httpx-sse~=0.4.0",
|
|
"sendgrid~=6.12.3",
|
|
"flask-restx~=1.3.2",
|
|
"packaging~=23.2",
|
|
"croniter>=6.0.0",
|
|
"weaviate-client==4.17.0",
|
|
"apscheduler>=3.11.0",
|
|
"weave>=0.52.16",
|
|
"fastopenapi[flask]>=0.7.0",
|
|
]
|
|
# Before adding new dependency, consider place it in
|
|
# alphabet order (a-z) and suitable group.
|
|
|
|
[tool.setuptools]
|
|
packages = []
|
|
|
|
[tool.uv]
|
|
default-groups = ["storage", "tools", "vdb"]
|
|
package = false
|
|
|
|
[dependency-groups]
|
|
|
|
############################################################
|
|
# [ Dev ] dependency group
|
|
# Required for development and running tests
|
|
############################################################
|
|
dev = [
|
|
"coverage~=7.2.4",
|
|
"dotenv-linter~=0.5.0",
|
|
"faker~=38.2.0",
|
|
"lxml-stubs~=0.5.1",
|
|
"ty>=0.0.14",
|
|
"basedpyright~=1.31.0",
|
|
"ruff~=0.14.0",
|
|
"pytest~=8.3.2",
|
|
"pytest-benchmark~=4.0.0",
|
|
"pytest-cov~=4.1.0",
|
|
"pytest-env~=1.1.3",
|
|
"pytest-mock~=3.14.0",
|
|
"testcontainers~=4.13.2",
|
|
"types-aiofiles~=24.1.0",
|
|
"types-beautifulsoup4~=4.12.0",
|
|
"types-cachetools~=5.5.0",
|
|
"types-colorama~=0.4.15",
|
|
"types-defusedxml~=0.7.0",
|
|
"types-deprecated~=1.2.15",
|
|
"types-docutils~=0.21.0",
|
|
"types-jsonschema~=4.23.0",
|
|
"types-flask-cors~=5.0.0",
|
|
"types-flask-migrate~=4.1.0",
|
|
"types-gevent~=25.9.0",
|
|
"types-greenlet~=3.1.0",
|
|
"types-html5lib~=1.1.11",
|
|
"types-markdown~=3.7.0",
|
|
"types-oauthlib~=3.2.0",
|
|
"types-objgraph~=3.6.0",
|
|
"types-olefile~=0.47.0",
|
|
"types-openpyxl~=3.1.5",
|
|
"types-pexpect~=4.9.0",
|
|
"types-protobuf~=5.29.1",
|
|
"types-psutil~=7.2.2",
|
|
"types-psycopg2~=2.9.21",
|
|
"types-pygments~=2.19.0",
|
|
"types-pymysql~=1.1.0",
|
|
"types-python-dateutil~=2.9.0",
|
|
"types-pywin32~=310.0.0",
|
|
"types-pyyaml~=6.0.12",
|
|
"types-regex~=2024.11.6",
|
|
"types-shapely~=2.1.0",
|
|
"types-simplejson>=3.20.0",
|
|
"types-six>=1.17.0",
|
|
"types-tensorflow>=2.18.0",
|
|
"types-tqdm>=4.67.0",
|
|
"types-ujson>=5.10.0",
|
|
"boto3-stubs>=1.38.20",
|
|
"types-jmespath>=1.0.2.20240106",
|
|
"hypothesis>=6.131.15",
|
|
"types_pyOpenSSL>=24.1.0",
|
|
"types_cffi>=1.17.0",
|
|
"types_setuptools>=80.9.0",
|
|
"pandas-stubs~=2.2.3",
|
|
"scipy-stubs>=1.15.3.0",
|
|
"types-python-http-client>=3.3.7.20240910",
|
|
"import-linter>=2.3",
|
|
"types-redis>=4.6.0.20241004",
|
|
"celery-types>=0.23.0",
|
|
"mypy~=1.17.1",
|
|
# "locust>=2.40.4", # Temporarily removed due to compatibility issues. Uncomment when resolved.
|
|
"sseclient-py>=1.8.0",
|
|
"pytest-timeout>=2.4.0",
|
|
"pytest-xdist>=3.8.0",
|
|
]
|
|
|
|
############################################################
|
|
# [ Storage ] dependency group
|
|
# Required for storage clients
|
|
############################################################
|
|
storage = [
|
|
"azure-storage-blob==12.26.0",
|
|
"bce-python-sdk~=0.9.23",
|
|
"cos-python-sdk-v5==1.9.38",
|
|
"esdk-obs-python==3.25.8",
|
|
"google-cloud-storage==2.16.0",
|
|
"opendal~=0.46.0",
|
|
"oss2==2.18.5",
|
|
"supabase~=2.18.1",
|
|
"tos~=2.9.0",
|
|
]
|
|
|
|
############################################################
|
|
# [ Tools ] dependency group
|
|
############################################################
|
|
tools = ["cloudscraper~=1.2.71", "nltk~=3.9.1"]
|
|
|
|
############################################################
|
|
# [ VDB ] dependency group
|
|
# Required by vector store clients
|
|
############################################################
|
|
vdb = [
|
|
"alibabacloud_gpdb20160503~=3.8.0",
|
|
"alibabacloud_tea_openapi~=0.3.9",
|
|
"chromadb==0.5.20",
|
|
"clickhouse-connect~=0.10.0",
|
|
"clickzetta-connector-python>=0.8.102",
|
|
"couchbase~=4.3.0",
|
|
"elasticsearch==8.14.0",
|
|
"opensearch-py==2.4.0",
|
|
"oracledb==3.3.0",
|
|
"pgvecto-rs[sqlalchemy]~=0.2.1",
|
|
"pgvector==0.2.5",
|
|
"pymilvus~=2.5.0",
|
|
"pymochow==2.2.9",
|
|
"pyobvector~=0.2.17",
|
|
"qdrant-client==1.9.0",
|
|
"intersystems-irispython>=5.1.0",
|
|
"tablestore==6.3.7",
|
|
"tcvectordb~=1.6.4",
|
|
"tidb-vector==0.0.9",
|
|
"upstash-vector==0.6.0",
|
|
"volcengine-compat~=1.0.0",
|
|
"weaviate-client==4.17.0",
|
|
"xinference-client~=1.2.2",
|
|
"mo-vector~=0.1.13",
|
|
"mysql-connector-python>=9.3.0",
|
|
]
|