embedchain
/
pyproject.toml
227 строк · 6.2 Кб
1[tool.poetry]
2name = "embedchain"
3version = "0.1.92"
4description = "Simplest open source retrieval(RAG) framework"
5authors = [
6"Taranjeet Singh <taranjeet@embedchain.ai>",
7"Deshraj Yadav <deshraj@embedchain.ai>",
8]
9license = "Apache License"
10readme = "README.md"
11exclude = [
12"db",
13"configs",
14"notebooks"
15]
16packages = [
17{ include = "embedchain" },
18]
19
20[build-system]
21build-backend = "poetry.core.masonry.api"
22requires = ["poetry-core"]
23
24[tool.ruff]
25select = ["ASYNC", "E", "F"]
26ignore = []
27fixable = ["ALL"]
28unfixable = []
29exclude = [
30".bzr",
31".direnv",
32".eggs",
33".git",
34".git-rewrite",
35".hg",
36".mypy_cache",
37".nox",
38".pants.d",
39".pytype",
40".ruff_cache",
41".svn",
42".tox",
43".venv",
44"__pypackages__",
45"_build",
46"buck-out",
47"build",
48"dist",
49"node_modules",
50"venv"
51]
52line-length = 120
53dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
54target-version = "py38"
55
56[tool.ruff.mccabe]
57max-complexity = 10
58
59# Ignore `E402` (import violations) in all `__init__.py` files, and in `path/to/file.py`.
60[tool.ruff.per-file-ignores]
61"embedchain/__init__.py" = ["E401"]
62
63[tool.black]
64line-length = 120
65target-version = ["py38", "py39", "py310", "py311"]
66include = '\.pyi?$'
67exclude = '''
68/(
69\.eggs
70| \.git
71| \.hg
72| \.mypy_cache
73| \.nox
74| \.pants.d
75| \.pytype
76| \.ruff_cache
77| \.svn
78| \.tox
79| \.venv
80| __pypackages__
81| _build
82| buck-out
83| build
84| dist
85| node_modules
86| venv
87)/
88'''
89
90[tool.black.format]
91color = true
92
93[tool.poetry.dependencies]
94python = ">=3.9,<=3.13"
95python-dotenv = "^1.0.0"
96langchain = "^0.1.4"
97requests = "^2.31.0"
98openai = ">=1.1.1"
99chromadb = "^0.4.17"
100posthog = "^3.0.2"
101rich = "^13.7.0"
102beautifulsoup4 = "^4.12.2"
103pypdf = "^3.11.0"
104gptcache = "^0.1.43"
105pysbd = "^0.3.4"
106tiktoken = { version = "^0.5.2", optional = true }
107youtube-transcript-api = { version = "^0.6.1", optional = true }
108pytube = { version = "^15.0.0", optional = true }
109duckduckgo-search = { version = "^3.8.5", optional = true }
110sentence-transformers = { version = "^2.2.2", optional = true }
111torch = { version = "2.0.0", optional = true }
112# Torch 2.0.1 is not compatible with poetry (https://github.com/pytorch/pytorch/issues/100974)
113gpt4all = { version = "2.0.2", optional = true }
114# 1.0.9 is not working for some users (https://github.com/nomic-ai/gpt4all/issues/1394)
115opensearch-py = { version = "2.3.1", optional = true }
116elasticsearch = { version = "^8.9.0", optional = true }
117flask = { version = "^2.3.3", optional = true }
118twilio = { version = "^8.5.0", optional = true }
119fastapi-poe = { version = "0.0.16", optional = true }
120discord = { version = "^2.3.2", optional = true }
121slack-sdk = { version = "3.21.3", optional = true }
122cohere = { version = "^4.27", optional = true }
123together = { version = "^0.2.8", optional = true }
124weaviate-client = { version = "^3.24.1", optional = true }
125docx2txt = { version = "^0.8", optional = true }
126qdrant-client = { version = "^1.6.3", optional = true }
127unstructured = {extras = ["local-inference", "all-docs"], version = "^0.10.18", optional = true}
128huggingface_hub = { version = "^0.17.3", optional = true }
129pymilvus = { version = "2.3.1", optional = true }
130google-cloud-aiplatform = { version = "^1.26.1", optional = true }
131replicate = { version = "^0.15.4", optional = true }
132schema = "^0.7.5"
133psycopg = { version = "^3.1.12", optional = true }
134psycopg-binary = { version = "^3.1.12", optional = true }
135psycopg-pool = { version = "^3.1.8", optional = true }
136mysql-connector-python = { version = "^8.1.0", optional = true }
137gitpython = { version = "^3.1.38", optional = true }
138yt_dlp = { version = "^2023.11.14", optional = true }
139PyGithub = { version = "^1.59.1", optional = true }
140feedparser = { version = "^6.0.10", optional = true }
141newspaper3k = { version = "^0.2.8", optional = true }
142listparser = { version = "^0.19", optional = true }
143google-generativeai = { version = "^0.3.0", optional = true }
144modal = { version = "^0.56.4329", optional = true }
145dropbox = { version = "^11.36.2", optional = true }
146google-api-python-client = { version = "^2.111.0", optional = true }
147google-auth-oauthlib = { version = "^1.2.0", optional = true }
148google-auth = { version = "^2.25.2", optional = true }
149google-auth-httplib2 = { version = "^0.2.0", optional = true }
150google-api-core = { version = "^2.15.0", optional = true }
151boto3 = { version = "^1.34.20", optional = true }
152langchain-mistralai = { version = "^0.0.3", optional = true }
153langchain-openai = "^0.0.5"
154langchain-google-vertexai = { version = "^0.0.5", optional = true }
155sqlalchemy = "^2.0.27"
156alembic = "^1.13.1"
157
158[tool.poetry.group.dev.dependencies]
159black = "^23.3.0"
160pre-commit = "^3.2.2"
161ruff = "^0.1.11"
162pytest = "^7.3.1"
163pytest-mock = "^3.10.0"
164pytest-env = "^0.8.1"
165click = "^8.1.3"
166isort = "^5.12.0"
167pytest-cov = "^4.1.0"
168responses = "^0.23.3"
169mock = "^5.1.0"
170pytest-asyncio = "^0.21.1"
171
172[tool.poetry.extras]
173streamlit = ["streamlit"]
174opensource = ["sentence-transformers", "torch", "gpt4all"]
175elasticsearch = ["elasticsearch"]
176opensearch = ["opensearch-py"]
177poe = ["fastapi-poe"]
178discord = ["discord"]
179slack = ["slack-sdk", "flask"]
180whatsapp = ["twilio", "flask"]
181weaviate = ["weaviate-client"]
182qdrant = ["qdrant-client"]
183huggingface_hub=["huggingface_hub"]
184cohere = ["cohere"]
185together = ["together"]
186milvus = ["pymilvus"]
187dataloaders=[
188"youtube-transcript-api",
189"docx2txt",
190"duckduckgo-search",
191"pytube",
192"sentence-transformers",
193"unstructured",
194]
195vertexai = ["langchain-google-vertexai"]
196llama2 = ["replicate"]
197gmail = [
198"requests",
199"google-api-python-client",
200"google-auth",
201"google-auth-oauthlib",
202"google-auth-httplib2",
203"google-api-core",
204]
205googledrive = ["google-api-python-client", "google-auth-oauthlib", "google-auth-httplib2"]
206postgres = ["psycopg", "psycopg-binary", "psycopg-pool"]
207mysql = ["mysql-connector-python"]
208github = ["PyGithub", "gitpython"]
209youtube = [
210"yt_dlp",
211"youtube-transcript-api",
212]
213rss_feed = [
214"feedparser",
215"listparser",
216"newspaper3k"
217]
218google = ["google-generativeai"]
219modal = ["modal"]
220dropbox = ["dropbox"]
221aws_bedrock = ["boto3"]
222mistralai = ["langchain-mistralai"]
223
224[tool.poetry.group.docs.dependencies]
225
226[tool.poetry.scripts]
227ec = "embedchain.cli:cli"
228