22name = " agentic-layer-sdk-adk"
33version = " 0.1.0"
44readme = " README.md"
5- requires-python = " >=3.12 "
5+ requires-python = " >=3.14,<3.15 "
66dependencies = [
77 " agentic-layer-sdk-shared" ,
88 " google-adk[a2a]" ,
@@ -11,6 +11,21 @@ dependencies = [
1111 " httpx-retries>=0.4.5" ,
1212]
1313
14+ [dependency-groups ]
15+ dev = [
16+ " mypy[reports]>=1.12.0,<2" ,
17+ " ruff>=0.11.2" ,
18+ " bandit[toml]>=1.7.8" ,
19+ " pip-audit>=2.5,<3" ,
20+ " pytest>=9.0.1,<10" ,
21+ " pytest-cov>=7,<8" ,
22+ " types-protobuf>=6.30.2.20250822" ,
23+ " pytest-asyncio>=1.3.0" ,
24+ " asgi-lifespan>=2.1.0" ,
25+ " respx>=0.22.0" ,
26+ " fastmcp>=3.0.0rc2" ,
27+ ]
28+
1429[build-system ]
1530requires = [" hatchling" ]
1631build-backend = " hatchling.build"
@@ -19,4 +34,57 @@ build-backend = "hatchling.build"
1934packages = [" agenticlayer" ]
2035
2136[tool .uv .sources ]
22- agentic-layer-sdk-shared = { workspace = true }
37+ agentic-layer-sdk-shared = { path = " ../shared" }
38+
39+
40+ [tool .pytest .ini_options ]
41+ minversion = " 7.0"
42+ testpaths = " tests"
43+ pythonpath = [" ." ]
44+ addopts = """ \
45+ --strict-config \
46+ --cov agenticlayer \
47+ --cov agenticlayer_shared \
48+ --cov-report html \
49+ --import-mode=importlib \
50+ --show-capture=no \
51+ """
52+ filterwarnings = [
53+ # https://github.com/boto/boto3/issues/3889
54+ " ignore::UserWarning:google.adk.*" ,
55+ " ignore::DeprecationWarning:google.*" ,
56+ " ignore::DeprecationWarning:litellm.*" ,
57+ " ignore::DeprecationWarning:a2a.*" ,
58+ " ignore::UserWarning:agenticlayer.*" ,
59+ # google-adk uses the deprecated streamablehttp_client from mcp; suppress until upstream fixes it
60+ " ignore:Use `streamable_http_client` instead.:DeprecationWarning" ,
61+ ]
62+
63+
64+ [tool .ruff ]
65+ # Allow lines to be as long as 120.
66+ line-length = 120
67+
68+ [tool .ruff .lint ]
69+ # https://docs.astral.sh/ruff/rules/
70+ # I001 --> enable import sorting rules
71+ # Q --> enable flake8-quotes rules for consistent quote style
72+ # N --> pep8-naming for proper naming conventions
73+ # PT --> flake8-pytest-style for pytest best practices
74+ # TID251 --> banned relative imports
75+ # DTZ --> datetime timezone awareness
76+ extend-select = [" Q" , " N" , " I001" , " PT" , " TID251" , " DTZ" ]
77+
78+
79+ [tool .bandit ]
80+ exclude_dirs = [" .venv" ]
81+
82+ [tool .bandit .assert_used ]
83+ skips = [" **/tests/*" ]
84+
85+
86+ [tool .mypy ]
87+ strict = true
88+ explicit_package_bases = true
89+ mypy_path = [" ." , " ../shared" ]
90+ namespace_packages = true
0 commit comments