pyproject.toml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. [tool.poetry]
  2. name = "embedchain"
  3. version = "0.0.78"
  4. description = "Data platform for LLMs - Load, index, retrieve and sync any unstructured data"
  5. authors = ["Taranjeet Singh, Deshraj Yadav"]
  6. license = "Apache License"
  7. readme = "README.md"
  8. exclude = [
  9. "db",
  10. "configs",
  11. "notebooks"
  12. ]
  13. [build-system]
  14. requires = ["setuptools", "wheel"]
  15. build-backend = "setuptools.build_meta"
  16. [tool.ruff]
  17. select = ["E", "F"]
  18. ignore = []
  19. fixable = ["ALL"]
  20. unfixable = []
  21. exclude = [
  22. ".bzr",
  23. ".direnv",
  24. ".eggs",
  25. ".git",
  26. ".git-rewrite",
  27. ".hg",
  28. ".mypy_cache",
  29. ".nox",
  30. ".pants.d",
  31. ".pytype",
  32. ".ruff_cache",
  33. ".svn",
  34. ".tox",
  35. ".venv",
  36. "__pypackages__",
  37. "_build",
  38. "buck-out",
  39. "build",
  40. "dist",
  41. "node_modules",
  42. "venv"
  43. ]
  44. line-length = 120
  45. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
  46. target-version = "py38"
  47. [tool.ruff.mccabe]
  48. max-complexity = 10
  49. # Ignore `E402` (import violations) in all `__init__.py` files, and in `path/to/file.py`.
  50. [tool.ruff.per-file-ignores]
  51. "embedchain/__init__.py" = ["E401"]
  52. [tool.black]
  53. line-length = 120
  54. target-version = ["py38", "py39", "py310", "py311"]
  55. include = '\.pyi?$'
  56. exclude = '''
  57. /(
  58. \.eggs
  59. | \.git
  60. | \.hg
  61. | \.mypy_cache
  62. | \.nox
  63. | \.pants.d
  64. | \.pytype
  65. | \.ruff_cache
  66. | \.svn
  67. | \.tox
  68. | \.venv
  69. | __pypackages__
  70. | _build
  71. | buck-out
  72. | build
  73. | dist
  74. | node_modules
  75. | venv
  76. )/
  77. '''
  78. [tool.black.format]
  79. color = true
  80. [tool.poetry.dependencies]
  81. python = ">=3.9,<3.13"
  82. python-dotenv = "^1.0.0"
  83. langchain = "^0.0.279"
  84. requests = "^2.31.0"
  85. openai = "^0.27.5"
  86. tiktoken = { version="^0.4.0", optional=true }
  87. chromadb ="^0.4.8"
  88. youtube-transcript-api = { version="^0.6.1", optional=true }
  89. beautifulsoup4 = { version="^4.12.2", optional=true }
  90. pypdf = { version="^3.11.0", optional=true }
  91. pytube = { version="^15.0.0", optional=true }
  92. duckduckgo-search = { version="^3.8.5", optional=true }
  93. llama-hub = { version = "^0.0.29", optional = true }
  94. sentence-transformers = { version = "^2.2.2", optional = true }
  95. torch = { version = "2.0.0", optional = true }
  96. # Torch 2.0.1 is not compatible with poetry (https://github.com/pytorch/pytorch/issues/100974)
  97. gpt4all = { version = "1.0.8", optional = true }
  98. # 1.0.9 is not working for some users (https://github.com/nomic-ai/gpt4all/issues/1394)
  99. opensearch-py = { version = "2.3.1", optional = true }
  100. elasticsearch = { version = "^8.9.0", optional = true }
  101. flask = { version = "^2.3.3", optional = true }
  102. twilio = { version = "^8.5.0", optional = true }
  103. fastapi-poe = { version = "0.0.16", optional = true }
  104. discord = { version = "^2.3.2", optional = true }
  105. slack-sdk = { version = "3.21.3", optional = true }
  106. cohere = { version = "^4.27", optional= true }
  107. weaviate-client = { version = "^3.24.1", optional= true }
  108. docx2txt = { version="^0.8", optional=true }
  109. pinecone-client = { version = "^2.2.4", optional = true }
  110. qdrant-client = { version = "1.6.3", optional = true }
  111. unstructured = {extras = ["local-inference"], version = "^0.10.18", optional=true}
  112. pillow = { version = "10.0.1", optional = true }
  113. torchvision = { version = ">=0.15.1, !=0.15.2", optional = true }
  114. ftfy = { version = "6.1.1", optional = true }
  115. regex = { version = "2023.8.8", optional = true }
  116. huggingface_hub = { version = "^0.17.3", optional = true }
  117. pymilvus = { version = "2.3.1", optional = true }
  118. google-cloud-aiplatform = { version = "^1.26.1", optional = true }
  119. replicate = { version = "^0.15.4", optional = true }
  120. jq = { version=">=1.6.0", optional = true}
  121. [tool.poetry.group.dev.dependencies]
  122. black = "^23.3.0"
  123. pre-commit = "^3.2.2"
  124. ruff = "^0.0.220"
  125. pytest = "^7.3.1"
  126. pytest-mock = "^3.10.0"
  127. pytest-env = "^0.8.1"
  128. click = "^8.1.3"
  129. isort = "^5.12.0"
  130. pytest-cov = "^4.1.0"
  131. responses = "^0.23.3"
  132. mock = "^5.1.0"
  133. pytest-asyncio = "^0.21.1"
  134. [tool.poetry.extras]
  135. streamlit = ["streamlit"]
  136. community = ["llama-hub"]
  137. opensource = ["sentence-transformers", "torch", "gpt4all", "langchain"]
  138. elasticsearch = ["elasticsearch"]
  139. opensearch = ["opensearch-py"]
  140. poe = ["fastapi-poe"]
  141. discord = ["discord"]
  142. slack = ["slack-sdk", "flask"]
  143. whatsapp = ["twilio", "flask"]
  144. weaviate = ["weaviate-client"]
  145. pinecone = ["pinecone-client"]
  146. qdrant = ["qdrant-client"]
  147. images = ["torch", "ftfy", "regex", "pillow", "torchvision"]
  148. huggingface_hub=["huggingface_hub"]
  149. cohere = ["cohere"]
  150. milvus = ["pymilvus"]
  151. dataloaders=[
  152. "youtube-transcripts-api",
  153. "beautifulsoup4",
  154. "docx2txt",
  155. "duckduckgo-search",
  156. "jq",
  157. "langchain",
  158. "pypdf",
  159. "pytube",
  160. "sentence-transformers",
  161. "unstructured",
  162. "jq",
  163. ]
  164. vertexai = ["google-cloud-aiplatform"]
  165. llama2 = ["replicate"]
  166. gmail = [
  167. "llama-hub",
  168. "requests",
  169. "google-api-python-client",
  170. "google-auth",
  171. "google-auth-oauthlib",
  172. "google-auth-httplib2",
  173. "google-api-core",
  174. ]
  175. [tool.poetry.group.docs.dependencies]
  176. [tool.poetry.scripts]