2023-11-20 21:09:30 +00:00
|
|
|
[tool.poetry]
|
|
|
|
name = "langchain-core"
|
2024-06-18 17:15:04 +00:00
|
|
|
version = "0.2.9"
|
2023-11-20 21:09:30 +00:00
|
|
|
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"
|
2024-06-18 19:00:02 +00:00
|
|
|
pydantic = [{version = ">=1,<3", python = "<3.12.4"}, {version = "^2.7.4", python=">=3.12.4"}]
|
2024-06-06 23:54:35 +00:00
|
|
|
langsmith = "^0.1.75"
|
core[patch],community[patch],langchain[patch]: `tenacity` dependency to version `>=8.1.0,<8.4.0` (#22973)
Fix https://github.com/langchain-ai/langchain/issues/22972.
- [x] **PR title**: "package: description"
- Where "package" is whichever of langchain, community, core,
experimental, etc. is being modified. Use "docs: ..." for purely docs
changes, "templates: ..." for template changes, "infra: ..." for CI
changes.
- Example: "community: add foobar LLM"
- [x] **PR message**: ***Delete this entire checklist*** and replace
with
- **Description:** a description of the change
- **Issue:** the issue # it fixes, if applicable
- **Dependencies:** any dependencies required for this change
- **Twitter handle:** if your PR gets announced, and you'd like a
mention, we'll gladly shout you out!
- [x] **Add tests and docs**: If you're adding a new integration, please
include
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
- [x] **Lint and test**: Run `make format`, `make lint` and `make test`
from the root of the package(s) you've modified. See contribution
guidelines for more: https://python.langchain.com/docs/contributing/
Additional guidelines:
- Make sure optional dependencies are imported within a function.
- Please do not add dependencies to pyproject.toml files (even optional
ones) unless they are required for unit tests.
- Most PRs should not touch more than one package.
- Changes should be backwards compatible.
- If you are adding something to community, do not re-import it in
langchain.
If no one reviews your PR within a few days, please @-mention one of
baskaryan, efriis, eyurtsev, ccurme, vbarda, hwchase17.
2024-06-18 14:34:28 +00:00
|
|
|
tenacity = "^8.1.0,!=8.4.0"
|
2023-11-20 21:09:30 +00:00
|
|
|
jsonpatch = "^1.33"
|
2023-12-07 22:24:58 +00:00
|
|
|
PyYAML = ">=5.3"
|
2024-06-12 23:22:20 +00:00
|
|
|
packaging = ">=23.2,<25"
|
2023-12-07 22:24:58 +00:00
|
|
|
|
|
|
|
[tool.poetry.group.lint]
|
|
|
|
optional = true
|
2023-11-20 21:09:30 +00:00
|
|
|
|
|
|
|
[tool.poetry.group.lint.dependencies]
|
|
|
|
ruff = "^0.1.5"
|
|
|
|
|
2023-12-07 22:24:58 +00:00
|
|
|
[tool.poetry.group.typing]
|
|
|
|
optional = true
|
|
|
|
|
2023-11-20 21:09:30 +00:00
|
|
|
[tool.poetry.group.typing.dependencies]
|
2024-03-07 20:25:19 +00:00
|
|
|
mypy = "^1"
|
2023-11-20 21:09:30 +00:00
|
|
|
types-pyyaml = "^6.0.12.2"
|
|
|
|
types-requests = "^2.28.11.5"
|
2023-12-07 22:24:58 +00:00
|
|
|
types-jinja2 = "^2.11.9"
|
2024-03-07 00:12:18 +00:00
|
|
|
langchain-text-splitters = { path = "../text-splitters", develop = true }
|
2023-12-07 22:24:58 +00:00
|
|
|
|
|
|
|
[tool.poetry.group.dev]
|
|
|
|
optional = true
|
2023-11-20 21:09:30 +00:00
|
|
|
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
|
|
jupyter = "^1.0.0"
|
|
|
|
setuptools = "^67.6.1"
|
2023-12-22 19:40:45 +00:00
|
|
|
grandalf = "^0.8"
|
2023-11-20 21:09:30 +00:00
|
|
|
|
2023-12-07 22:24:58 +00:00
|
|
|
[tool.poetry.group.test]
|
|
|
|
optional = true
|
|
|
|
|
2023-11-20 21:09:30 +00:00
|
|
|
[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"
|
|
|
|
freezegun = "^1.2.2"
|
2024-03-07 00:12:18 +00:00
|
|
|
pytest-mock = "^3.10.0"
|
2023-11-20 21:09:30 +00:00
|
|
|
syrupy = "^4.0.2"
|
|
|
|
pytest-watcher = "^0.3.4"
|
|
|
|
pytest-asyncio = "^0.21.1"
|
2023-12-22 19:40:45 +00:00
|
|
|
grandalf = "^0.8"
|
Cache calls to create_model for get_input_schema and get_output_schema (#17755)
Thank you for contributing to LangChain!
- [ ] **PR title**: "package: description"
- Where "package" is whichever of langchain, community, core,
experimental, etc. is being modified. Use "docs: ..." for purely docs
changes, "templates: ..." for template changes, "infra: ..." for CI
changes.
- Example: "community: add foobar LLM"
- [ ] **PR message**: ***Delete this entire checklist*** and replace
with
- **Description:** a description of the change
- **Issue:** the issue # it fixes, if applicable
- **Dependencies:** any dependencies required for this change
- **Twitter handle:** if your PR gets announced, and you'd like a
mention, we'll gladly shout you out!
- [ ] **Add tests and docs**: If you're adding a new integration, please
include
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
- [ ] **Lint and test**: Run `make format`, `make lint` and `make test`
from the root of the package(s) you've modified. See contribution
guidelines for more: https://python.langchain.com/docs/contributing/
Additional guidelines:
- Make sure optional dependencies are imported within a function.
- Please do not add dependencies to pyproject.toml files (even optional
ones) unless they are required for unit tests.
- Most PRs should not touch more than one package.
- Changes should be backwards compatible.
- If you are adding something to community, do not re-import it in
langchain.
If no one reviews your PR within a few days, please @-mention one of
baskaryan, efriis, eyurtsev, hwchase17.
2024-02-19 21:26:42 +00:00
|
|
|
pytest-profiling = "^1.7.0"
|
2024-03-05 20:49:38 +00:00
|
|
|
responses = "^0.25.0"
|
2024-06-12 20:31:36 +00:00
|
|
|
|
|
|
|
# Support Python 3.8 and 3.12+.
|
|
|
|
numpy = [
|
2024-06-13 22:22:34 +00:00
|
|
|
{ version = "^1.24.0", python = "<3.12" },
|
|
|
|
{ version = "^1.26.0", python = ">=3.12" },
|
2024-06-12 20:31:36 +00:00
|
|
|
]
|
2023-11-20 21:09:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
[tool.poetry.group.test_integration]
|
|
|
|
optional = true
|
|
|
|
dependencies = {}
|
|
|
|
|
2023-12-07 22:24:58 +00:00
|
|
|
[tool.poetry.extras]
|
|
|
|
|
2024-02-09 22:28:02 +00:00
|
|
|
[tool.ruff.lint]
|
2023-11-20 21:09:30 +00:00
|
|
|
select = [
|
2024-03-07 00:12:18 +00:00
|
|
|
"E", # pycodestyle
|
|
|
|
"F", # pyflakes
|
|
|
|
"I", # isort
|
2024-02-10 00:13:30 +00:00
|
|
|
"T201", # print
|
2023-11-20 21:09:30 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[tool.mypy]
|
|
|
|
disallow_untyped_defs = "True"
|
|
|
|
exclude = ["notebooks", "examples", "example_data", "langchain_core/pydantic"]
|
|
|
|
|
2024-05-14 21:29:07 +00:00
|
|
|
[[tool.mypy.overrides]]
|
|
|
|
# conditional dependencies introduced by langsmith-sdk
|
|
|
|
module = ["numpy", "pytest"]
|
|
|
|
ignore_missing_imports = true
|
|
|
|
|
2023-11-20 21:09:30 +00:00
|
|
|
[tool.coverage.run]
|
2024-03-07 00:12:18 +00:00
|
|
|
omit = ["tests/*"]
|
2023-11-20 21:09:30 +00:00
|
|
|
|
|
|
|
[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 = "--snapshot-warn-unused --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"
|