diff --git a/libs/langchain/pyproject.toml b/libs/langchain/pyproject.toml index 17197750fdd..877ac364822 100644 --- a/libs/langchain/pyproject.toml +++ b/libs/langchain/pyproject.toml @@ -1,6 +1,6 @@ [build-system] -requires = [ "poetry-core>=1.0.0",] -build-backend = "poetry.core.masonry.api" +requires = ["pdm-backend"] +build-backend = "pdm.backend" [tool.poetry] name = "langchain" @@ -189,3 +189,159 @@ develop = true [tool.poetry.group.dev.dependencies.langchain-text-splitters] path = "../text-splitters" develop = true + +[tool.pdm.dev-dependencies] +test = [ + "pytest<9,>=8", + "pytest-cov<5.0.0,>=4.0.0", + "pytest-dotenv<1.0.0,>=0.5.2", + "duckdb-engine<1.0.0,>=0.9.2", + "pytest-watcher<1.0.0,>=0.2.6", + "freezegun<2.0.0,>=1.2.2", + "responses<1.0.0,>=0.22.0", + "pytest-asyncio<1.0.0,>=0.23.2", + "lark<2.0.0,>=1.1.5", + "pandas<3.0.0,>=2.0.0", + "pytest-mock<4.0.0,>=3.10.0", + "pytest-socket<1.0.0,>=0.6.0", + "syrupy<5.0.0,>=4.0.2", + "requests-mock<2.0.0,>=1.11.0", + "pytest-xdist<4.0.0,>=3.6.1", + "cffi<1.17.1; python_version < \"3.10\"", + "cffi; python_version >= \"3.10\"", + "langchain-tests @ file:///${PROJECT_ROOT}/../standard-tests", + "langchain-core @ file:///${PROJECT_ROOT}/../core", + "langchain-text-splitters @ file:///${PROJECT_ROOT}/../text-splitters", + "langchain-openai @ file:///${PROJECT_ROOT}/../partners/openai", +] +codespell = [ + "codespell<3.0.0,>=2.2.0", +] +test_integration = [ + "pytest-vcr<2.0.0,>=1.0.2", + "wrapt<2.0.0,>=1.15.0", + "python-dotenv<2.0.0,>=1.0.0", + "cassio<1.0.0,>=0.1.0", + "langchainhub<1.0.0,>=0.1.16", + "langchain-core @ file:///${PROJECT_ROOT}/../core", + "langchain-text-splitters @ file:///${PROJECT_ROOT}/../text-splitters", +] +lint = [ + "ruff<1.0.0,>=0.9.2", + "cffi<1.17.1; python_version < \"3.10\"", + "cffi; python_version >= \"3.10\"", +] +typing = [ + "mypy<2.0,>=1.10", + "types-pyyaml<7.0.0.0,>=6.0.12.2", + "types-requests<3.0.0.0,>=2.28.11.5", + "types-toml<1.0.0.0,>=0.10.8.1", + "types-redis<5.0.0.0,>=4.3.21.6", + "types-pytz<2024.0.0.0,>=2023.3.0.0", + "types-chardet<6.0.0.0,>=5.0.4.6", + "mypy-protobuf<4.0.0,>=3.0.0", + "langchain-core @ file:///${PROJECT_ROOT}/../core", + "langchain-text-splitters @ file:///${PROJECT_ROOT}/../text-splitters", +] +dev = [ + "jupyter<2.0.0,>=1.0.0", + "playwright<2.0.0,>=1.28.0", + "setuptools<68.0.0,>=67.6.1", + "langchain-core @ file:///${PROJECT_ROOT}/../core", + "langchain-text-splitters @ file:///${PROJECT_ROOT}/../text-splitters", +] + +[tool.pdm.build] +includes = [] + +[project] +authors = [] +license = {text = "MIT"} +requires-python = "<4.0,>=3.9" +dependencies = [ + "langchain-core<1.0.0,>=0.3.33", + "langchain-text-splitters<1.0.0,>=0.3.3", + "langsmith<0.4,>=0.1.17", + "pydantic<3.0.0,>=2.7.4", + "SQLAlchemy<3,>=1.4", + "requests<3,>=2", + "PyYAML>=5.3", + "aiohttp<4.0.0,>=3.8.3", + "tenacity!=8.4.0,<10,>=8.1.0", + "numpy<2,>=1.22.4; python_version < \"3.12\"", + "numpy<3,>=1.26.2; python_version >= \"3.12\"", + "async-timeout<5.0.0,>=4.0.0; python_version < \"3.11\"", +] +name = "langchain" +version = "0.3.17" +description = "Building applications with LLMs through composability" +readme = "README.md" + +[project.urls] +"Source Code" = "https://github.com/langchain-ai/langchain/tree/master/libs/langchain" +"Release Notes" = "https://github.com/langchain-ai/langchain/releases?q=tag%3A%22langchain%3D%3D0%22&expanded=true" +repository = "https://github.com/langchain-ai/langchain" + +[project.scripts] +langchain-server = "langchain.server:main" + +[dependency-groups] +test = [ + "pytest<9,>=8", + "pytest-cov<5.0.0,>=4.0.0", + "pytest-dotenv<1.0.0,>=0.5.2", + "duckdb-engine<1.0.0,>=0.9.2", + "pytest-watcher<1.0.0,>=0.2.6", + "freezegun<2.0.0,>=1.2.2", + "responses<1.0.0,>=0.22.0", + "pytest-asyncio<1.0.0,>=0.23.2", + "lark<2.0.0,>=1.1.5", + "pandas<3.0.0,>=2.0.0", + "pytest-mock<4.0.0,>=3.10.0", + "pytest-socket<1.0.0,>=0.6.0", + "syrupy<5.0.0,>=4.0.2", + "requests-mock<2.0.0,>=1.11.0", + "pytest-xdist<4.0.0,>=3.6.1", + "cffi<1.17.1; python_version < \"3.10\"", + "cffi; python_version >= \"3.10\"", + "langchain-tests @ file:///${PROJECT_ROOT}/../standard-tests", + "langchain-core @ file:///${PROJECT_ROOT}/../core", + "langchain-text-splitters @ file:///${PROJECT_ROOT}/../text-splitters", + "langchain-openai @ file:///${PROJECT_ROOT}/../partners/openai", +] +codespell = [ + "codespell<3.0.0,>=2.2.0", +] +test_integration = [ + "pytest-vcr<2.0.0,>=1.0.2", + "wrapt<2.0.0,>=1.15.0", + "python-dotenv<2.0.0,>=1.0.0", + "cassio<1.0.0,>=0.1.0", + "langchainhub<1.0.0,>=0.1.16", + "langchain-core @ file:///${PROJECT_ROOT}/../core", + "langchain-text-splitters @ file:///${PROJECT_ROOT}/../text-splitters", +] +lint = [ + "ruff<1.0.0,>=0.9.2", + "cffi<1.17.1; python_version < \"3.10\"", + "cffi; python_version >= \"3.10\"", +] +typing = [ + "mypy<2.0,>=1.10", + "types-pyyaml<7.0.0.0,>=6.0.12.2", + "types-requests<3.0.0.0,>=2.28.11.5", + "types-toml<1.0.0.0,>=0.10.8.1", + "types-redis<5.0.0.0,>=4.3.21.6", + "types-pytz<2024.0.0.0,>=2023.3.0.0", + "types-chardet<6.0.0.0,>=5.0.4.6", + "mypy-protobuf<4.0.0,>=3.0.0", + "langchain-core @ file:///${PROJECT_ROOT}/../core", + "langchain-text-splitters @ file:///${PROJECT_ROOT}/../text-splitters", +] +dev = [ + "jupyter<2.0.0,>=1.0.0", + "playwright<2.0.0,>=1.28.0", + "setuptools<68.0.0,>=67.6.1", + "langchain-core @ file:///${PROJECT_ROOT}/../core", + "langchain-text-splitters @ file:///${PROJECT_ROOT}/../text-splitters", +]