[build-system] requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] name = "langchain-core" version = "0.2.27" description = "Building applications with LLMs through composability" authors = [] license = "MIT" readme = "README.md" repository = "https://github.com/langchain-ai/langchain" [tool.mypy] disallow_untyped_defs = "True" exclude = [ "notebooks", "examples", "example_data", "langchain_core/pydantic", "tests/unit_tests/utils/test_function_calling.py",] [[tool.mypy.overrides]] module = [ "numpy", "pytest",] ignore_missing_imports = true [tool.poetry.urls] "Source Code" = "https://github.com/langchain-ai/langchain/tree/master/libs/core" "Release Notes" = "https://github.com/langchain-ai/langchain/releases?q=tag%3A%22langchain-core%3D%3D0%22&expanded=true" [tool.poetry.dependencies] python = ">=3.8.1,<4.0" langsmith = "^0.1.75" tenacity = "^8.1.0,!=8.4.0" jsonpatch = "^1.33" PyYAML = ">=5.3" packaging = ">=23.2,<25" typing-extensions = ">=4.7" [[tool.poetry.dependencies.pydantic]] version = ">=1,<3" python = "<3.12.4" [[tool.poetry.dependencies.pydantic]] version = "^2.7.4" python = ">=3.12.4" [tool.poetry.extras] [tool.ruff.lint] select = [ "E", "F", "I", "T201",] [tool.coverage.run] omit = [ "tests/*",] [tool.pytest.ini_options] addopts = "--snapshot-warn-unused --strict-markers --strict-config --durations=5" 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" [tool.poetry.group.lint] optional = true [tool.poetry.group.typing] optional = true [tool.poetry.group.dev] optional = true [tool.poetry.group.test] optional = true [tool.poetry.group.test_integration] optional = true [tool.ruff.lint.per-file-ignores] "tests/unit_tests/prompts/test_chat.py" = [ "E501",] "tests/unit_tests/runnables/test_runnable.py" = [ "E501",] "tests/unit_tests/runnables/test_graph.py" = [ "E501",] [tool.poetry.group.lint.dependencies] ruff = "^0.5" [tool.poetry.group.typing.dependencies] mypy = ">=1.10,<1.11" types-pyyaml = "^6.0.12.2" types-requests = "^2.28.11.5" types-jinja2 = "^2.11.9" [tool.poetry.group.dev.dependencies] jupyter = "^1.0.0" setuptools = "^67.6.1" grandalf = "^0.8" [tool.poetry.group.test.dependencies] pytest = "^7.3.0" freezegun = "^1.2.2" pytest-mock = "^3.10.0" syrupy = "^4.0.2" pytest-watcher = "^0.3.4" pytest-asyncio = "^0.21.1" grandalf = "^0.8" pytest-profiling = "^1.7.0" responses = "^0.25.0" [[tool.poetry.group.test.dependencies.numpy]] version = "^1.24.0" python = "<3.12" [[tool.poetry.group.test.dependencies.numpy]] version = "^1.26.0" python = ">=3.12" [tool.poetry.group.test_integration.dependencies] [tool.poetry.group.typing.dependencies.langchain-text-splitters] path = "../text-splitters" develop = true [tool.poetry.group.test.dependencies.langchain-standard-tests] path = "../standard-tests" develop = true