mirror of
https://github.com/hwchase17/langchain
synced 2024-11-02 09:40:22 +00:00
9e569d85a4
poetry can't reliably handle resolving the number of optional "extended test" dependencies we have. If we instead just rely on pip to install extended test deps in CI, this isn't an issue.
153 lines
4.3 KiB
TOML
153 lines
4.3 KiB
TOML
[tool.poetry]
|
|
name = "langchain-community"
|
|
version = "0.0.28"
|
|
description = "Community contributed LangChain integrations."
|
|
authors = []
|
|
license = "MIT"
|
|
readme = "README.md"
|
|
repository = "https://github.com/langchain-ai/langchain"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.8.1,<4.0"
|
|
langchain-core = "^0.1.31"
|
|
SQLAlchemy = ">=1.4,<3"
|
|
requests = "^2"
|
|
PyYAML = ">=5.3"
|
|
numpy = "^1"
|
|
aiohttp = "^3.8.3"
|
|
tenacity = "^8.1.0"
|
|
dataclasses-json = ">= 0.5.7, < 0.7"
|
|
langsmith = "^0.1.0"
|
|
typer = { version = "^0.9.0", optional = true }
|
|
|
|
[tool.poetry.group.test]
|
|
optional = true
|
|
|
|
[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.1.0"
|
|
pytest-dotenv = "^0.5.2"
|
|
duckdb-engine = "^0.9.2"
|
|
pytest-watcher = "^0.2.6"
|
|
freezegun = "^1.2.2"
|
|
responses = "^0.22.0"
|
|
pytest-asyncio = "^0.20.3"
|
|
lark = "^1.1.5"
|
|
pandas = "^2.0.0"
|
|
pytest-mock = "^3.10.0"
|
|
pytest-socket = "^0.6.0"
|
|
syrupy = "^4.0.2"
|
|
requests-mock = "^1.11.0"
|
|
langchain-core = { path = "../core", develop = true }
|
|
|
|
[tool.poetry.group.codespell]
|
|
optional = true
|
|
|
|
[tool.poetry.group.codespell.dependencies]
|
|
codespell = "^2.2.0"
|
|
|
|
[tool.poetry.group.test_integration]
|
|
optional = true
|
|
|
|
[tool.poetry.group.test_integration.dependencies]
|
|
# Do not add dependencies in the test_integration group
|
|
# Instead read the following link:
|
|
# https://python.langchain.com/docs/contributing/code#working-with-optional-dependencies
|
|
pytest-vcr = "^1.0.2"
|
|
wrapt = "^1.15.0"
|
|
openai = "^1"
|
|
python-dotenv = "^1.0.0"
|
|
cassio = "^0.1.0"
|
|
tiktoken = ">=0.3.2,<0.6.0"
|
|
anthropic = "^0.3.11"
|
|
langchain-core = { path = "../core", develop = true }
|
|
fireworks-ai = "^0.9.0"
|
|
|
|
[tool.poetry.group.lint]
|
|
optional = true
|
|
|
|
[tool.poetry.group.lint.dependencies]
|
|
ruff = "^0.1.5"
|
|
|
|
[tool.poetry.group.typing.dependencies]
|
|
mypy = "^0.991"
|
|
types-pyyaml = "^6.0.12.2"
|
|
types-requests = "^2.28.11.5"
|
|
types-toml = "^0.10.8.1"
|
|
types-pytz = "^2023.3.0.0"
|
|
types-chardet = "^5.0.4.6"
|
|
types-redis = "^4.3.21.6"
|
|
mypy-protobuf = "^3.0.0"
|
|
pydantic = "^1"
|
|
langchain-core = { path = "../core", develop = true }
|
|
langchain-text-splitters = { path = "../text-splitters", develop = true }
|
|
|
|
[tool.poetry.group.dev]
|
|
optional = true
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
jupyter = "^1.0.0"
|
|
setuptools = "^67.6.1"
|
|
langchain-core = { path = "../core", develop = true }
|
|
|
|
[tool.poetry.extras]
|
|
cli = ["typer"]
|
|
|
|
[tool.ruff]
|
|
exclude = [
|
|
"tests/examples/non-utf8-encoding.py",
|
|
"tests/integration_tests/examples/non-utf8-encoding.py",
|
|
]
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E", # pycodestyle
|
|
"F", # pyflakes
|
|
"I", # isort
|
|
"T201", # print
|
|
]
|
|
|
|
[tool.mypy]
|
|
ignore_missing_imports = "True"
|
|
disallow_untyped_defs = "True"
|
|
exclude = ["notebooks", "examples", "example_data"]
|
|
|
|
[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.
|
|
#
|
|
# https://github.com/tophat/syrupy
|
|
# --snapshot-warn-unused Prints a warning on unused snapshots rather than fail the test suite.
|
|
addopts = "--strict-markers --strict-config --durations=5 --snapshot-warn-unused -vv"
|
|
# 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",
|
|
"scheduled: mark tests to run in scheduled testing",
|
|
"compile: mark placeholder test used to compile integration tests without running them",
|
|
]
|
|
asyncio_mode = "auto"
|
|
|
|
[tool.codespell]
|
|
skip = '.git,*.pdf,*.svg,*.pdf,*.yaml,*.ipynb,poetry.lock,*.min.js,*.css,package-lock.json,example_data,_dist,examples,*.trig'
|
|
# Ignore latin etc
|
|
ignore-regex = '.*(Stati Uniti|Tense=Pres).*'
|
|
# whats is a typo but used frequently in queries so kept as is
|
|
# aapply - async apply
|
|
# unsecure - typo but part of API, decided to not bother for now
|
|
ignore-words-list = 'momento,collison,ned,foor,reworkd,parth,whats,aapply,mysogyny,unsecure,damon,crate,aadd,symbl,precesses,accademia,nin'
|