[tool.poetry] name = "langchain-experimental" version = "0.0.57" description = "Building applications with LLMs through composability" 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.41" langchain = "^0.1.15" presidio-anonymizer = {version = "^2.2.352", optional = true} presidio-analyzer = {version = "^2.2.352", optional = true} faker = {version = "^19.3.1", optional = true} vowpal-wabbit-next = {version = "0.6.0", optional = true} sentence-transformers = {version = "^2", optional = true} jinja2 = {version = "^3", optional = true} pandas = { version = "^2.0.1", optional = true } tabulate = {version = "^0.9.0", optional = true} [tool.poetry.group.lint] optional = true [tool.poetry.group.lint.dependencies] ruff = "^0.1.5" [tool.poetry.group.typing] optional = true [tool.poetry.group.typing.dependencies] mypy = "^0.991" types-pyyaml = "^6.0.12.2" types-requests = "^2.28.11.5" langchain = {path = "../langchain", develop = true} langchain-core = {path = "../core", develop = true} langchain-community = {path = "../community", develop = true} [tool.poetry.group.dev] optional = true [tool.poetry.group.dev.dependencies] jupyter = "^1.0.0" setuptools = "^67.6.1" langchain = {path = "../langchain", develop = true} langchain-core = {path = "../core", develop = true} langchain-community = {path = "../community", develop = 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-asyncio = "^0.20.3" langchain = {path = "../langchain", develop = true} langchain-core = {path = "../core", develop = true} langchain-community = {path = "../community", develop = true} [tool.poetry.group.test_integration] optional = true [tool.poetry.group.test_integration.dependencies] langchain = {path = "../langchain", develop = true} langchain-core = {path = "../core", develop = true} langchain-community = {path = "../community", develop = true} langchain-openai = {path = "../partners/openai", develop = true} # 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 [tool.poetry.extras] extended_testing = [ "presidio-anonymizer", "presidio-analyzer", "faker", "vowpal-wabbit-next", "sentence-transformers", "jinja2", "pandas", "tabulate", ] [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" # 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", "asyncio: mark tests as requiring asyncio", "compile: mark placeholder test used to compile integration tests without running them", ] asyncio_mode = "auto"