mirror of
https://github.com/hwchase17/langchain
synced 2024-11-06 03:20:49 +00:00
e46202829f
# TextLoader auto detect encoding and enhanced exception handling - Add an option to enable encoding detection on `TextLoader`. - The detection is done using `chardet` - The loading is done by trying all detected encodings by order of confidence or raise an exception otherwise. ### New Dependencies: - `chardet` Fixes #4479 ## Before submitting <!-- If you're adding a new integration, include an integration test and an example notebook showing its use! --> ## Who can review? Community members can review the PR once tests pass. Tag maintainers/contributors who might be interested: - @eyurtsev --------- Co-authored-by: blob42 <spike@w530>
244 lines
8.3 KiB
TOML
244 lines
8.3 KiB
TOML
[tool.poetry]
|
|
name = "langchain"
|
|
version = "0.0.173"
|
|
description = "Building applications with LLMs through composability"
|
|
authors = []
|
|
license = "MIT"
|
|
readme = "README.md"
|
|
repository = "https://www.github.com/hwchase17/langchain"
|
|
|
|
[tool.poetry.scripts]
|
|
langchain-server = "langchain.server:main"
|
|
langchain = "langchain.cli.main:main"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.8.1,<4.0"
|
|
pydantic = "^1"
|
|
SQLAlchemy = ">=1.4,<3"
|
|
requests = "^2"
|
|
PyYAML = ">=5.4.1"
|
|
numpy = "^1"
|
|
azure-core = {version = "^1.26.4", optional=true}
|
|
tqdm = {version = ">=4.48.0", optional = true}
|
|
openapi-schema-pydantic = "^1.2"
|
|
faiss-cpu = {version = "^1", optional = true}
|
|
wikipedia = {version = "^1", optional = true}
|
|
elasticsearch = {version = "^8", optional = true}
|
|
opensearch-py = {version = "^2.0.0", optional = true}
|
|
redis = {version = "^4", optional = true}
|
|
manifest-ml = {version = "^0.0.1", optional = true}
|
|
spacy = {version = "^3", optional = true}
|
|
nltk = {version = "^3", optional = true}
|
|
transformers = {version = "^4", optional = true}
|
|
beautifulsoup4 = {version = "^4", optional = true}
|
|
torch = {version = ">=1,<3", optional = true}
|
|
jinja2 = {version = "^3", optional = true}
|
|
tiktoken = {version = "^0.3.2", optional = true, python="^3.9"}
|
|
pinecone-client = {version = "^2", optional = true}
|
|
pinecone-text = {version = "^0.4.2", optional = true}
|
|
clickhouse-connect = {version="^0.5.14", optional=true}
|
|
weaviate-client = {version = "^3", optional = true}
|
|
google-api-python-client = {version = "2.70.0", optional = true}
|
|
wolframalpha = {version = "5.0.0", optional = true}
|
|
anthropic = {version = "^0.2.6", optional = true}
|
|
qdrant-client = {version = "^1.1.2", optional = true, python = ">=3.8.1,<3.12"}
|
|
dataclasses-json = "^0.5.7"
|
|
tensorflow-text = {version = "^2.11.0", optional = true, python = "^3.10, <3.12"}
|
|
tenacity = "^8.1.0"
|
|
cohere = {version = "^3", optional = true}
|
|
openai = {version = "^0", optional = true}
|
|
nlpcloud = {version = "^1", optional = true}
|
|
nomic = {version = "^1.0.43", optional = true}
|
|
huggingface_hub = {version = "^0", optional = true}
|
|
jina = {version = "^3.14", optional = true}
|
|
google-search-results = {version = "^2", optional = true}
|
|
sentence-transformers = {version = "^2", optional = true}
|
|
aiohttp = "^3.8.3"
|
|
arxiv = {version = "^1.4", optional = true}
|
|
pypdf = {version = "^3.4.0", optional = true}
|
|
networkx = {version="^2.6.3", optional = true}
|
|
aleph-alpha-client = {version="^2.15.0", optional = true}
|
|
deeplake = {version = "^3.3.0", optional = true}
|
|
pgvector = {version = "^0.1.6", optional = true}
|
|
psycopg2-binary = {version = "^2.9.5", optional = true}
|
|
pyowm = {version = "^3.3.0", optional = true}
|
|
async-timeout = {version = "^4.0.0", python = "<3.11"}
|
|
azure-identity = {version = "^1.12.0", optional=true}
|
|
gptcache = {version = ">=0.1.7", optional = true}
|
|
atlassian-python-api = {version = "^3.36.0", optional=true}
|
|
pytesseract = {version = "^0.3.10", optional=true}
|
|
html2text = {version="^2020.1.16", optional=true}
|
|
numexpr = "^2.8.4"
|
|
duckduckgo-search = {version="^2.8.6", optional=true}
|
|
azure-cosmos = {version="^4.4.0b1", optional=true}
|
|
lark = {version="^1.1.5", optional=true}
|
|
lancedb = {version = "^0.1", optional = true}
|
|
pexpect = {version = "^4.8.0", optional = true}
|
|
pyvespa = {version = "^0.33.0", optional = true}
|
|
O365 = {version = "^2.0.26", optional = true}
|
|
jq = {version = "^1.4.1", optional = true}
|
|
steamship = {version = "^2.16.9", optional = true}
|
|
pdfminer-six = {version = "^20221105", optional = true}
|
|
docarray = {version="^0.31.0", optional=true}
|
|
protobuf = {version="3.19.6", optional=true}
|
|
hnswlib = {version="^0.7.0", optional=true}
|
|
lxml = {version = "^4.9.2", optional = true}
|
|
pymupdf = {version = "^1.22.3", optional = true}
|
|
pypdfium2 = {version = "^4.10.0", optional = true}
|
|
gql = {version = "^3.4.1", optional = true}
|
|
pandas = {version = "^2.0.1", optional = true}
|
|
telethon = {version = "^1.28.5", optional = true}
|
|
zep-python = {version="^0.25", optional=true}
|
|
chardet = {version="^5.1.0", optional=true}
|
|
|
|
|
|
[tool.poetry.group.docs.dependencies]
|
|
autodoc_pydantic = "^1.8.0"
|
|
myst_parser = "^0.18.1"
|
|
nbsphinx = "^0.8.9"
|
|
sphinx = "^4.5.0"
|
|
sphinx-autobuild = "^2021.3.14"
|
|
sphinx_book_theme = "^0.3.3"
|
|
sphinx_rtd_theme = "^1.0.0"
|
|
sphinx-typlog-theme = "^0.8.0"
|
|
sphinx-panels = "^0.6.0"
|
|
toml = "^0.10.2"
|
|
myst-nb = "^0.17.1"
|
|
linkchecker = "^10.2.1"
|
|
sphinx-copybutton = "^0.5.1"
|
|
|
|
[tool.poetry.group.test.dependencies]
|
|
# The only dependencies that should be added are
|
|
# dependencies used for running tests (e.g., pytest, freezegun, response).
|
|
# Any dependencies that do not meet that criteria will be removed.
|
|
pytest = "^7.3.0"
|
|
pytest-cov = "^4.0.0"
|
|
pytest-dotenv = "^0.5.2"
|
|
duckdb-engine = "^0.7.0"
|
|
pytest-watcher = "^0.2.6"
|
|
freezegun = "^1.2.2"
|
|
responses = "^0.22.0"
|
|
pytest-asyncio = "^0.20.3"
|
|
lark = "^1.1.5"
|
|
pytest-mock = "^3.10.0"
|
|
pytest-socket = "^0.6.0"
|
|
|
|
[tool.poetry.group.test_integration]
|
|
optional = true
|
|
|
|
[tool.poetry.group.test_integration.dependencies]
|
|
pytest-vcr = "^1.0.2"
|
|
wrapt = "^1.15.0"
|
|
openai = "^0.27.4"
|
|
elasticsearch = {extras = ["async"], version = "^8.6.2"}
|
|
redis = "^4.5.4"
|
|
pinecone-client = "^2.2.1"
|
|
pinecone-text = "^0.4.2"
|
|
clickhouse-connect = "^0.5.14"
|
|
pgvector = "^0.1.6"
|
|
transformers = "^4.27.4"
|
|
pandas = "^2.0.0"
|
|
deeplake = "^3.2.21"
|
|
weaviate-client = "^3.15.5"
|
|
torch = "^1.0.0"
|
|
chromadb = "^0.3.21"
|
|
tiktoken = "^0.3.3"
|
|
python-dotenv = "^1.0.0"
|
|
sentence-transformers = "^2"
|
|
gptcache = "^0.1.9"
|
|
promptlayer = "^0.1.80"
|
|
tair = "^1.3.3"
|
|
wikipedia = "^1"
|
|
pymongo = "^4.3.3"
|
|
cassandra-driver = "^3.27.0"
|
|
arxiv = "^1.4"
|
|
|
|
[tool.poetry.group.lint.dependencies]
|
|
ruff = "^0.0.249"
|
|
types-toml = "^0.10.8.1"
|
|
types-redis = "^4.3.21.6"
|
|
black = "^23.1.0"
|
|
types-chardet = "^5.0.4.6"
|
|
|
|
[tool.poetry.group.typing.dependencies]
|
|
mypy = "^0.991"
|
|
types-pyyaml = "^6.0.12.2"
|
|
types-requests = "^2.28.11.5"
|
|
|
|
[tool.poetry.group.dev]
|
|
optional = true
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
jupyter = "^1.0.0"
|
|
playwright = "^1.28.0"
|
|
setuptools = "^67.6.1"
|
|
|
|
[tool.poetry.extras]
|
|
llms = ["anthropic", "cohere", "openai", "nlpcloud", "huggingface_hub", "manifest-ml", "torch", "transformers"]
|
|
qdrant = ["qdrant-client"]
|
|
openai = ["openai", "tiktoken"]
|
|
text_helpers = ["chardet"]
|
|
cohere = ["cohere"]
|
|
in_memory_store = ["docarray"]
|
|
hnswlib = ["docarray", "protobuf", "hnswlib"]
|
|
embeddings = ["sentence-transformers"]
|
|
azure = ["azure-identity", "azure-cosmos", "openai", "azure-core"]
|
|
all = ["anthropic", "cohere", "openai", "nlpcloud", "huggingface_hub", "jina", "manifest-ml", "elasticsearch", "opensearch-py", "google-search-results", "faiss-cpu", "sentence-transformers", "transformers", "spacy", "nltk", "wikipedia", "beautifulsoup4", "tiktoken", "torch", "jinja2", "pinecone-client", "pinecone-text", "weaviate-client", "redis", "google-api-python-client", "wolframalpha", "qdrant-client", "tensorflow-text", "pypdf", "networkx", "nomic", "aleph-alpha-client", "deeplake", "pgvector", "psycopg2-binary", "pyowm", "pytesseract", "html2text", "atlassian-python-api", "gptcache", "duckduckgo-search", "arxiv", "azure-identity", "clickhouse-connect", "azure-cosmos", "lancedb", "lark", "pexpect", "pyvespa", "O365", "jq", "docarray", "protobuf", "hnswlib", "steamship", "pdfminer-six", "gql"]
|
|
# An extra used to be able to add extended testing.
|
|
# Please use new-line on formatting to make it easier to add new packages without
|
|
# merge-conflicts
|
|
extended_testing = [
|
|
"beautifulsoup4",
|
|
"chardet",
|
|
"jq",
|
|
"pdfminer.six",
|
|
"pypdf",
|
|
"pymupdf",
|
|
"pypdfium2",
|
|
"tqdm",
|
|
"lxml",
|
|
"atlassian-python-api",
|
|
"beautifulsoup4",
|
|
"pandas",
|
|
"telethon",
|
|
"zep-python"
|
|
]
|
|
|
|
[tool.ruff]
|
|
select = [
|
|
"E", # pycodestyle
|
|
"F", # pyflakes
|
|
"I", # isort
|
|
]
|
|
exclude = [
|
|
"tests/integration_tests/examples/non-utf8-encoding.py",
|
|
]
|
|
|
|
[tool.mypy]
|
|
ignore_missing_imports = "True"
|
|
disallow_untyped_defs = "True"
|
|
exclude = ["notebooks"]
|
|
|
|
[tool.coverage.run]
|
|
omit = [
|
|
"tests/*",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.pytest.ini_options]
|
|
# --strict-markers will raise errors on unknown marks.
|
|
# https://docs.pytest.org/en/7.1.x/how-to/mark.html#raising-errors-on-unknown-marks
|
|
#
|
|
# https://docs.pytest.org/en/7.1.x/reference/reference.html
|
|
# --strict-config any warnings encountered while parsing the `pytest`
|
|
# section of the configuration file raise errors.
|
|
addopts = "--strict-markers --strict-config --durations=5"
|
|
# Registering custom markers.
|
|
# https://docs.pytest.org/en/7.1.x/example/markers.html#registering-markers
|
|
markers = [
|
|
"requires: mark tests as requiring a specific library"
|
|
]
|