123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- [tool.poetry]
- name = "embedchain"
- version = "0.1.77"
- description = "Simplest open source retrieval(RAG) framework"
- authors = [
- "Taranjeet Singh <taranjeet@embedchain.ai>",
- "Deshraj Yadav <deshraj@embedchain.ai>",
- ]
- license = "Apache License"
- readme = "README.md"
- exclude = [
- "db",
- "configs",
- "notebooks"
- ]
- packages = [
- { include = "embedchain" },
- ]
- [build-system]
- build-backend = "poetry.core.masonry.api"
- requires = ["poetry-core"]
- [tool.ruff]
- select = ["ASYNC", "E", "F"]
- ignore = []
- fixable = ["ALL"]
- unfixable = []
- exclude = [
- ".bzr",
- ".direnv",
- ".eggs",
- ".git",
- ".git-rewrite",
- ".hg",
- ".mypy_cache",
- ".nox",
- ".pants.d",
- ".pytype",
- ".ruff_cache",
- ".svn",
- ".tox",
- ".venv",
- "__pypackages__",
- "_build",
- "buck-out",
- "build",
- "dist",
- "node_modules",
- "venv"
- ]
- line-length = 120
- dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
- target-version = "py38"
- [tool.ruff.mccabe]
- max-complexity = 10
- # Ignore `E402` (import violations) in all `__init__.py` files, and in `path/to/file.py`.
- [tool.ruff.per-file-ignores]
- "embedchain/__init__.py" = ["E401"]
- [tool.black]
- line-length = 120
- target-version = ["py38", "py39", "py310", "py311"]
- include = '\.pyi?$'
- exclude = '''
- /(
- \.eggs
- | \.git
- | \.hg
- | \.mypy_cache
- | \.nox
- | \.pants.d
- | \.pytype
- | \.ruff_cache
- | \.svn
- | \.tox
- | \.venv
- | __pypackages__
- | _build
- | buck-out
- | build
- | dist
- | node_modules
- | venv
- )/
- '''
- [tool.black.format]
- color = true
- [tool.poetry.dependencies]
- python = ">=3.9,<3.12"
- python-dotenv = "^1.0.0"
- langchain = "^0.0.336"
- requests = "^2.31.0"
- openai = ">=1.1.1"
- chromadb = "^0.4.17"
- posthog = "^3.0.2"
- rich = "^13.7.0"
- beautifulsoup4 = "^4.12.2"
- pypdf = "^3.11.0"
- gptcache = "^0.1.43"
- pysbd = "^0.3.4"
- tiktoken = { version = "^0.4.0", optional = true }
- youtube-transcript-api = { version = "^0.6.1", optional = true }
- pytube = { version = "^15.0.0", optional = true }
- duckduckgo-search = { version = "^3.8.5", optional = true }
- sentence-transformers = { version = "^2.2.2", optional = true }
- torch = { version = "2.0.0", optional = true }
- # Torch 2.0.1 is not compatible with poetry (https://github.com/pytorch/pytorch/issues/100974)
- gpt4all = { version = "2.0.2", optional = true }
- # 1.0.9 is not working for some users (https://github.com/nomic-ai/gpt4all/issues/1394)
- opensearch-py = { version = "2.3.1", optional = true }
- elasticsearch = { version = "^8.9.0", optional = true }
- flask = { version = "^2.3.3", optional = true }
- twilio = { version = "^8.5.0", optional = true }
- fastapi-poe = { version = "0.0.16", optional = true }
- discord = { version = "^2.3.2", optional = true }
- slack-sdk = { version = "3.21.3", optional = true }
- cohere = { version = "^4.27", optional = true }
- together = { version = "^0.2.8", optional = true }
- weaviate-client = { version = "^3.24.1", optional = true }
- docx2txt = { version = "^0.8", optional = true }
- pinecone-client = { version = "^3.0.0", optional = true }
- qdrant-client = { version = "1.6.3", optional = true }
- unstructured = {extras = ["local-inference", "all-docs"], version = "^0.10.18", optional = true}
- huggingface_hub = { version = "^0.17.3", optional = true }
- pymilvus = { version = "2.3.1", optional = true }
- google-cloud-aiplatform = { version = "^1.26.1", optional = true }
- replicate = { version = "^0.15.4", optional = true }
- schema = "^0.7.5"
- psycopg = { version = "^3.1.12", optional = true }
- psycopg-binary = { version = "^3.1.12", optional = true }
- psycopg-pool = { version = "^3.1.8", optional = true }
- mysql-connector-python = { version = "^8.1.0", optional = true }
- gitpython = { version = "^3.1.38", optional = true }
- yt_dlp = { version = "^2023.11.14", optional = true }
- PyGithub = { version = "^1.59.1", optional = true }
- feedparser = { version = "^6.0.10", optional = true }
- newspaper3k = { version = "^0.2.8", optional = true }
- listparser = { version = "^0.19", optional = true }
- google-generativeai = { version = "^0.3.0", optional = true }
- modal = { version = "^0.56.4329", optional = true }
- dropbox = { version = "^11.36.2", optional = true }
- google-api-python-client = { version = "^2.111.0", optional = true }
- google-auth-oauthlib = { version = "^1.2.0", optional = true }
- google-auth = { version = "^2.25.2", optional = true }
- google-auth-httplib2 = { version = "^0.2.0", optional = true }
- google-api-core = { version = "^2.15.0", optional = true }
- boto3 = { version = "^1.34.20", optional = true }
- langchain-mistralai = { version = "^0.0.3", optional = true }
- [tool.poetry.group.dev.dependencies]
- black = "^23.3.0"
- pre-commit = "^3.2.2"
- ruff = "^0.1.11"
- pytest = "^7.3.1"
- pytest-mock = "^3.10.0"
- pytest-env = "^0.8.1"
- click = "^8.1.3"
- isort = "^5.12.0"
- pytest-cov = "^4.1.0"
- responses = "^0.23.3"
- mock = "^5.1.0"
- pytest-asyncio = "^0.21.1"
- [tool.poetry.extras]
- streamlit = ["streamlit"]
- opensource = ["sentence-transformers", "torch", "gpt4all"]
- elasticsearch = ["elasticsearch"]
- opensearch = ["opensearch-py"]
- poe = ["fastapi-poe"]
- discord = ["discord"]
- slack = ["slack-sdk", "flask"]
- whatsapp = ["twilio", "flask"]
- weaviate = ["weaviate-client"]
- pinecone = ["pinecone-client"]
- qdrant = ["qdrant-client"]
- huggingface_hub=["huggingface_hub"]
- cohere = ["cohere"]
- together = ["together"]
- milvus = ["pymilvus"]
- dataloaders=[
- "youtube-transcript-api",
- "docx2txt",
- "duckduckgo-search",
- "pytube",
- "sentence-transformers",
- "unstructured",
- ]
- vertexai = ["google-cloud-aiplatform"]
- llama2 = ["replicate"]
- gmail = [
- "requests",
- "google-api-python-client",
- "google-auth",
- "google-auth-oauthlib",
- "google-auth-httplib2",
- "google-api-core",
- ]
- googledrive = ["google-api-python-client", "google-auth-oauthlib", "google-auth-httplib2"]
- postgres = ["psycopg", "psycopg-binary", "psycopg-pool"]
- mysql = ["mysql-connector-python"]
- github = ["PyGithub", "gitpython"]
- youtube = [
- "yt_dlp",
- "youtube-transcript-api",
- ]
- rss_feed = [
- "feedparser",
- "listparser",
- "newspaper3k"
- ]
- google = ["google-generativeai"]
- modal = ["modal"]
- dropbox = ["dropbox"]
- aws_bedrock = ["boto3"]
- mistralai = ["langchain-mistralai"]
- [tool.poetry.group.docs.dependencies]
- [tool.poetry.scripts]
- ec = "embedchain.cli:cli"
|