@@ -22,6 +22,12 @@ readme = "README.md"
2222repository = " https://github.com/langchain-ai/langchain"
2323
2424[dependency-groups ]
25+ unit = [
26+ " pytest<8.0.0,>=7.3.0" ,
27+ " pytest-asyncio<1.0.0,>=0.21.1" ,
28+ " pytest-socket<1.0.0,>=0.7.0" ,
29+ " pytest-watcher<1.0.0,>=0.3.4" ,
30+ ]
2531test = [
2632 " pytest<8.0.0,>=7.3.0" ,
2733 " pytest-asyncio<1.0.0,>=0.21.1" ,
@@ -32,23 +38,39 @@ test = [
3238]
3339codespell = [" codespell<3.0.0,>=2.2.0" ]
3440test_integration = []
35- lint = [" ruff<0.13,>=0.12.2" ]
36- dev = [" langchain-core" ]
41+ lint = [" ruff<0.6,>=0.5.0" ]
42+ dev = [
43+ " langchain-core" ,
44+ " pre-commit>=3.7.0" ,
45+ " build>=1.2.1" ,
46+ " twine>=5.1.0" ,
47+ " wheel>=0.43.0" ,
48+ " ruff<0.6,>=0.5.0" ,
49+ " mypy<2.0,>=1.10" ,
50+ " codespell<3.0.0,>=2.2.0" ,
51+ " pytest<8.0.0,>=7.3.0" ,
52+ " pytest-asyncio<1.0.0,>=0.21.1" ,
53+ " pytest-socket<1.0.0,>=0.7.0" ,
54+ " pytest-watcher<1.0.0,>=0.3.4" ,
55+ ]
3756typing = [" mypy<2.0,>=1.10" , " langchain-core" ]
3857
39- [tool .uv .sources ]
40- langchain-core = { path = " ../../core" , editable = true }
41- langchain-tests = { path = " ../../standard-tests" , editable = true }
58+
4259
4360[tool .mypy ]
44- disallow_untyped_defs = " True"
61+ python_version = " 3.10"
62+ disallow_untyped_defs = true
4563
4664[tool .ruff ]
47- target-version = " py39 "
65+ target-version = " py310 "
4866
4967[tool .ruff .lint ]
5068select = [" E" , " F" , " I" , " T201" ]
5169
70+ [tool .ruff .lint .per-file-ignores ]
71+ "tests/**/*.py" = [" T201" ]
72+ "scripts/**/*.py" = [" T201" ]
73+
5274[tool .coverage .run ]
5375omit = [" tests/*" ]
5476
@@ -58,3 +80,7 @@ markers = [
5880 " compile: mark placeholder test used to compile integration tests without running them" ,
5981]
6082asyncio_mode = " auto"
83+
84+ [tool .codespell ]
85+ skip = " .git,*.lock,*.svg,*.json,*.yml,*.yaml,*.md,*.ipynb,.mypy_cache,.ruff_cache,.venv,dist,build"
86+ ignore-words-list = " crate,ser,fo"
0 commit comments