Files
langchain/libs/standard-tests/pyproject.toml
Sydney Runkle 4556b81b1d Clean up numpy dependencies and speed up 3.13 CI with numpy>=2.1.0 (#30714)
Generally, this PR is CI performance focused + aims to clean up some
dependencies at the same time.

1. Unpins upper bounds for `numpy` in all `pyproject.toml` files where
`numpy` is specified
2. Requires `numpy >= 2.1.0` for Python 3.13 and `numpy > v1.26.0` for
Python 3.12, plus a `numpy` min version bump for `chroma`
3. Speeds up CI by minutes - linting on Python 3.13, installing `numpy <
2.1.0` was taking [~3
minutes](https://github.com/langchain-ai/langchain/actions/runs/14316342925/job/40123305868?pr=30713),
now the entire env setup takes a few seconds
4. Deleted the `numpy` test dependency from partners where that was not
used, specifically `huggingface`, `voyageai`, `xai`, and `nomic`.

It's a bit unfortunate that `langchain-community` depends on `numpy`, we
might want to try to fix that in the future...

Closes https://github.com/langchain-ai/langchain/issues/26026
Fixes https://github.com/langchain-ai/langchain/issues/30555
2025-04-08 09:45:07 -04:00

58 lines
1.5 KiB
TOML

[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
[project]
authors = [{ name = "Erick Friis", email = "erick@langchain.dev" }]
license = { text = "MIT" }
requires-python = "<4.0,>=3.9"
dependencies = [
"langchain-core<1.0.0,>=0.3.49",
"pytest<9,>=7",
"pytest-asyncio<1,>=0.20",
"httpx<1,>=0.25.0",
"syrupy<5,>=4",
"pytest-socket<1,>=0.6.0",
"numpy>=1.26.2; python_version<'3.13'",
"numpy>=2.1.0; python_version>='3.13'",
]
name = "langchain-tests"
version = "0.3.17"
description = "Standard tests for LangChain implementations"
readme = "README.md"
[project.urls]
"Source Code" = "https://github.com/langchain-ai/langchain/tree/master/libs/standard-tests"
repository = "https://github.com/langchain-ai/langchain"
[dependency-groups]
test = ["langchain-core"]
test_integration = []
codespell = ["codespell<3.0.0,>=2.2.0"]
lint = ["ruff<1.0.0,>=0.9.2"]
typing = ["mypy<2,>=1", "langchain-core"]
[tool.uv.sources]
langchain-core = { path = "../core", editable = true }
[tool.mypy]
disallow_untyped_defs = "True"
[tool.ruff]
target-version = "py39"
[tool.ruff.lint]
select = ["E", "F", "I", "T201"]
[tool.coverage.run]
omit = ["tests/*"]
[tool.pytest.ini_options]
addopts = "--strict-markers --strict-config --durations=5 -vv"
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"