pyproject.toml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. [tool.poetry]
  2. name = "embedchain"
  3. version = "0.0.65"
  4. description = "embedchain is a framework to easily create LLM powered bots over any dataset"
  5. authors = ["Taranjeet Singh"]
  6. license = "Apache License"
  7. readme = "README.md"
  8. [build-system]
  9. requires = ["setuptools", "wheel"]
  10. build-backend = "setuptools.build_meta"
  11. [tool.ruff]
  12. select = ["E", "F"]
  13. ignore = []
  14. fixable = ["ALL"]
  15. unfixable = []
  16. exclude = [
  17. ".bzr",
  18. ".direnv",
  19. ".eggs",
  20. ".git",
  21. ".git-rewrite",
  22. ".hg",
  23. ".mypy_cache",
  24. ".nox",
  25. ".pants.d",
  26. ".pytype",
  27. ".ruff_cache",
  28. ".svn",
  29. ".tox",
  30. ".venv",
  31. "__pypackages__",
  32. "_build",
  33. "buck-out",
  34. "build",
  35. "dist",
  36. "node_modules",
  37. "venv",
  38. ]
  39. line-length = 120
  40. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
  41. target-version = "py38"
  42. [tool.ruff.mccabe]
  43. max-complexity = 10
  44. # Ignore `E402` (import violations) in all `__init__.py` files, and in `path/to/file.py`.
  45. [tool.ruff.per-file-ignores]
  46. "embedchain/__init__.py" = ["E401"]
  47. [tool.black]
  48. line-length = 120
  49. target-version = ["py38", "py39", "py310", "py311"]
  50. include = '\.pyi?$'
  51. exclude = '''
  52. /(
  53. \.eggs
  54. | \.git
  55. | \.hg
  56. | \.mypy_cache
  57. | \.nox
  58. | \.pants.d
  59. | \.pytype
  60. | \.ruff_cache
  61. | \.svn
  62. | \.tox
  63. | \.venv
  64. | __pypackages__
  65. | _build
  66. | buck-out
  67. | build
  68. | dist
  69. | node_modules
  70. | venv
  71. )/
  72. '''
  73. [tool.black.format]
  74. color = true
  75. [tool.poetry.dependencies]
  76. python = ">=3.9,<3.9.7 || >3.9.7,<4.0"
  77. python-dotenv = "^1.0.0"
  78. langchain = "^0.0.279"
  79. requests = "^2.31.0"
  80. openai = "^0.27.5"
  81. tiktoken = "^0.4.0"
  82. chromadb ="^0.4.8"
  83. youtube-transcript-api = "^0.6.1"
  84. beautifulsoup4 = "^4.12.2"
  85. pypdf = "^3.11.0"
  86. pytube = "^15.0.0"
  87. duckduckgo-search = "^3.8.5"
  88. llama-hub = { version = "^0.0.29", optional = true }
  89. sentence-transformers = { version = "^2.2.2", optional = true }
  90. torch = { version = ">=2.0.0, !=2.0.1", optional = true }
  91. # Torch 2.0.1 is not compatible with poetry (https://github.com/pytorch/pytorch/issues/100974)
  92. gpt4all = { version = "1.0.8", optional = true }
  93. # 1.0.9 is not working for some users (https://github.com/nomic-ai/gpt4all/issues/1394)
  94. opensearch-py = { version = "2.3.1", optional = true }
  95. elasticsearch = { version = "^8.9.0", optional = true }
  96. flask = { version = "^2.3.3", optional = true }
  97. twilio = { version = "^8.5.0", optional = true }
  98. fastapi-poe = { version = "0.0.16", optional = true }
  99. discord = { version = "^2.3.2", optional = true }
  100. slack-sdk = { version = "3.21.3", optional = true }
  101. docx2txt = "^0.8"
  102. clip = {git = "https://github.com/openai/CLIP.git#a1d0717", optional = true}
  103. ftfy = { version = "6.1.1", optional = true }
  104. regex = { version = "2023.8.8", optional = true }
  105. [tool.poetry.group.dev.dependencies]
  106. black = "^23.3.0"
  107. pre-commit = "^3.2.2"
  108. ruff = "^0.0.220"
  109. pytest = "^7.3.1"
  110. pytest-mock = "^3.10.0"
  111. pytest-env = "^0.8.1"
  112. click = "^8.1.3"
  113. isort = "^5.12.0"
  114. pytest-cov = "^4.1.0"
  115. [tool.poetry.extras]
  116. streamlit = ["streamlit"]
  117. community = ["llama-hub"]
  118. opensource = ["sentence-transformers", "torch", "gpt4all"]
  119. elasticsearch = ["elasticsearch"]
  120. opensearch = ["opensearch-py"]
  121. poe = ["fastapi-poe"]
  122. discord = ["discord"]
  123. slack = ["slack-sdk", "flask"]
  124. whatsapp = ["twilio", "flask"]
  125. images = ["torch", "ftfy", "regex", "clip"]
  126. [tool.poetry.group.docs.dependencies]
  127. [tool.poetry.scripts]