Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. [project]
  2. name = "dify-api"
  3. version = "1.9.0"
  4. requires-python = ">=3.11,<3.13"
  5. dependencies = [
  6. "arize-phoenix-otel~=0.9.2",
  7. "authlib==1.6.4",
  8. "azure-identity==1.16.1",
  9. "beautifulsoup4==4.12.2",
  10. "boto3==1.35.99",
  11. "bs4~=0.0.1",
  12. "cachetools~=5.3.0",
  13. "celery~=5.5.2",
  14. "chardet~=5.1.0",
  15. "flask~=3.1.2",
  16. "flask-compress~=1.17",
  17. "flask-cors~=6.0.0",
  18. "flask-login~=0.6.3",
  19. "flask-migrate~=4.0.7",
  20. "flask-orjson~=2.0.0",
  21. "flask-sqlalchemy~=3.1.1",
  22. "gevent~=25.9.1",
  23. "gmpy2~=2.2.1",
  24. "google-api-core==2.18.0",
  25. "google-api-python-client==2.90.0",
  26. "google-auth==2.29.0",
  27. "google-auth-httplib2==0.2.0",
  28. "google-cloud-aiplatform==1.49.0",
  29. "googleapis-common-protos==1.63.0",
  30. "gunicorn~=23.0.0",
  31. "httpx[socks]~=0.27.0",
  32. "jieba==0.42.1",
  33. "json-repair>=0.41.1",
  34. "langfuse~=2.51.3",
  35. "langsmith~=0.1.77",
  36. "mailchimp-transactional~=1.0.50",
  37. "markdown~=3.5.1",
  38. "numpy~=1.26.4",
  39. "openai~=1.61.0",
  40. "openpyxl~=3.1.5",
  41. "opik~=1.7.25",
  42. "opentelemetry-api==1.27.0",
  43. "opentelemetry-distro==0.48b0",
  44. "opentelemetry-exporter-otlp==1.27.0",
  45. "opentelemetry-exporter-otlp-proto-common==1.27.0",
  46. "opentelemetry-exporter-otlp-proto-grpc==1.27.0",
  47. "opentelemetry-exporter-otlp-proto-http==1.27.0",
  48. "opentelemetry-instrumentation==0.48b0",
  49. "opentelemetry-instrumentation-celery==0.48b0",
  50. "opentelemetry-instrumentation-flask==0.48b0",
  51. "opentelemetry-instrumentation-redis==0.48b0",
  52. "opentelemetry-instrumentation-requests==0.48b0",
  53. "opentelemetry-instrumentation-sqlalchemy==0.48b0",
  54. "opentelemetry-propagator-b3==1.27.0",
  55. # opentelemetry-proto1.28.0 depends on protobuf (>=5.0,<6.0),
  56. # which is conflict with googleapis-common-protos (1.63.0)
  57. "opentelemetry-proto==1.27.0",
  58. "opentelemetry-sdk==1.27.0",
  59. "opentelemetry-semantic-conventions==0.48b0",
  60. "opentelemetry-util-http==0.48b0",
  61. "pandas[excel,output-formatting,performance]~=2.2.2",
  62. "pandoc~=2.4",
  63. "psycogreen~=1.0.2",
  64. "psycopg2-binary~=2.9.6",
  65. "pycryptodome==3.19.1",
  66. "pydantic~=2.11.4",
  67. "pydantic-extra-types~=2.10.3",
  68. "pydantic-settings~=2.9.1",
  69. "pyjwt~=2.10.1",
  70. "pypdfium2==4.30.0",
  71. "python-docx~=1.1.0",
  72. "python-dotenv==1.0.1",
  73. "pyyaml~=6.0.1",
  74. "readabilipy~=0.3.0",
  75. "redis[hiredis]~=6.1.0",
  76. "resend~=2.9.0",
  77. "sentry-sdk[flask]~=2.28.0",
  78. "sqlalchemy~=2.0.29",
  79. "starlette==0.47.2",
  80. "tiktoken~=0.9.0",
  81. "transformers~=4.56.1",
  82. "unstructured[docx,epub,md,ppt,pptx]~=0.16.1",
  83. "weave~=0.51.0",
  84. "yarl~=1.18.3",
  85. "webvtt-py~=0.5.1",
  86. "sseclient-py~=1.8.0",
  87. "httpx-sse~=0.4.0",
  88. "sendgrid~=6.12.3",
  89. "flask-restx~=1.3.0",
  90. "packaging~=23.2",
  91. ]
  92. # Before adding new dependency, consider place it in
  93. # alphabet order (a-z) and suitable group.
  94. [tool.setuptools]
  95. packages = []
  96. [tool.uv]
  97. default-groups = ["storage", "tools", "vdb"]
  98. package = false
  99. [dependency-groups]
  100. ############################################################
  101. # [ Dev ] dependency group
  102. # Required for development and running tests
  103. ############################################################
  104. dev = [
  105. "coverage~=7.2.4",
  106. "dotenv-linter~=0.5.0",
  107. "faker~=32.1.0",
  108. "lxml-stubs~=0.5.1",
  109. "ty~=0.0.1a19",
  110. "basedpyright~=1.31.0",
  111. "ruff~=0.12.3",
  112. "pytest~=8.3.2",
  113. "pytest-benchmark~=4.0.0",
  114. "pytest-cov~=4.1.0",
  115. "pytest-env~=1.1.3",
  116. "pytest-mock~=3.14.0",
  117. "testcontainers~=4.10.0",
  118. "types-aiofiles~=24.1.0",
  119. "types-beautifulsoup4~=4.12.0",
  120. "types-cachetools~=5.5.0",
  121. "types-colorama~=0.4.15",
  122. "types-defusedxml~=0.7.0",
  123. "types-deprecated~=1.2.15",
  124. "types-docutils~=0.21.0",
  125. "types-jsonschema~=4.23.0",
  126. "types-flask-cors~=5.0.0",
  127. "types-flask-migrate~=4.1.0",
  128. "types-gevent~=24.11.0",
  129. "types-greenlet~=3.1.0",
  130. "types-html5lib~=1.1.11",
  131. "types-markdown~=3.7.0",
  132. "types-oauthlib~=3.2.0",
  133. "types-objgraph~=3.6.0",
  134. "types-olefile~=0.47.0",
  135. "types-openpyxl~=3.1.5",
  136. "types-pexpect~=4.9.0",
  137. "types-protobuf~=5.29.1",
  138. "types-psutil~=7.0.0",
  139. "types-psycopg2~=2.9.21",
  140. "types-pygments~=2.19.0",
  141. "types-pymysql~=1.1.0",
  142. "types-python-dateutil~=2.9.0",
  143. "types-pywin32~=310.0.0",
  144. "types-pyyaml~=6.0.12",
  145. "types-regex~=2024.11.6",
  146. "types-requests~=2.32.0",
  147. "types-requests-oauthlib~=2.0.0",
  148. "types-shapely~=2.0.0",
  149. "types-simplejson>=3.20.0",
  150. "types-six>=1.17.0",
  151. "types-tensorflow>=2.18.0",
  152. "types-tqdm>=4.67.0",
  153. "types-ujson>=5.10.0",
  154. "boto3-stubs>=1.38.20",
  155. "types-jmespath>=1.0.2.20240106",
  156. "hypothesis>=6.131.15",
  157. "types_pyOpenSSL>=24.1.0",
  158. "types_cffi>=1.17.0",
  159. "types_setuptools>=80.9.0",
  160. "pandas-stubs~=2.2.3",
  161. "scipy-stubs>=1.15.3.0",
  162. "types-python-http-client>=3.3.7.20240910",
  163. "import-linter>=2.3",
  164. "types-redis>=4.6.0.20241004",
  165. "celery-types>=0.23.0",
  166. "mypy~=1.17.1",
  167. # "locust>=2.40.4", # Temporarily removed due to compatibility issues. Uncomment when resolved.
  168. "sseclient-py>=1.8.0",
  169. ]
  170. ############################################################
  171. # [ Storage ] dependency group
  172. # Required for storage clients
  173. ############################################################
  174. storage = [
  175. "azure-storage-blob==12.13.0",
  176. "bce-python-sdk~=0.9.23",
  177. "cos-python-sdk-v5==1.9.30",
  178. "esdk-obs-python==3.24.6.1",
  179. "google-cloud-storage==2.16.0",
  180. "opendal~=0.46.0",
  181. "oss2==2.18.5",
  182. "supabase~=2.18.1",
  183. "tos~=2.7.1",
  184. ]
  185. ############################################################
  186. # [ Tools ] dependency group
  187. ############################################################
  188. tools = ["cloudscraper~=1.2.71", "nltk~=3.9.1"]
  189. ############################################################
  190. # [ VDB ] dependency group
  191. # Required by vector store clients
  192. ############################################################
  193. vdb = [
  194. "alibabacloud_gpdb20160503~=3.8.0",
  195. "alibabacloud_tea_openapi~=0.3.9",
  196. "chromadb==0.5.20",
  197. "clickhouse-connect~=0.7.16",
  198. "clickzetta-connector-python>=0.8.102",
  199. "couchbase~=4.3.0",
  200. "elasticsearch==8.14.0",
  201. "opensearch-py==2.4.0",
  202. "oracledb==3.0.0",
  203. "pgvecto-rs[sqlalchemy]~=0.2.1",
  204. "pgvector==0.2.5",
  205. "pymilvus~=2.5.0",
  206. "pymochow==2.2.9",
  207. "pyobvector~=0.2.15",
  208. "qdrant-client==1.9.0",
  209. "tablestore==6.2.0",
  210. "tcvectordb~=1.6.4",
  211. "tidb-vector==0.0.9",
  212. "upstash-vector==0.6.0",
  213. "volcengine-compat~=1.0.0",
  214. "weaviate-client~=3.24.0",
  215. "xinference-client~=1.2.2",
  216. "mo-vector~=0.1.13",
  217. ]