mirror of
https://github.com/EvolutionAPI/adk-python.git
synced 2025-07-13 07:04:51 -06:00

This is in response to the litellm v1.71.2 + ollama v0.9.0 sending function call chunks with 0 indices across multiple calls and lacking call ids. Solutions introduced: 1. increment fallback index when accumulated arg becomes json parsable. 2. tolerate finish reason == stop when tool calls are present 3. fallback to index when tool call id is None Fixes https://github.com/google/adk-python/issues/294 PiperOrigin-RevId: 766258344
168 lines
5.4 KiB
TOML
168 lines
5.4 KiB
TOML
[project]
|
|
# Project metadata. Available keys are documented at:
|
|
# https://packaging.python.org/en/latest/specifications/declaring-project-metadata
|
|
|
|
name = "google-adk"
|
|
description = "Agent Development Kit"
|
|
readme = "README.md"
|
|
requires-python = ">=3.9"
|
|
license = { file = "LICENSE" }
|
|
authors = [{ name = "Google LLC", email = "googleapis-packages@google.com" }]
|
|
classifiers = [ # List of https://pypi.org/classifiers/
|
|
"Typing :: Typed",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Science/Research",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Operating System :: OS Independent",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
]
|
|
dependencies = [
|
|
# go/keep-sorted start
|
|
"authlib>=1.5.1", # For RestAPI Tool
|
|
"click>=8.1.8", # For CLI tools
|
|
"fastapi>=0.115.0", # FastAPI framework
|
|
"google-api-python-client>=2.157.0", # Google API client discovery
|
|
"google-cloud-aiplatform[agent_engines]>=1.95.1", # For VertexAI integrations, e.g. example store.
|
|
"google-cloud-secret-manager>=2.22.0", # Fetching secrets in RestAPI Tool
|
|
"google-cloud-speech>=2.30.0", # For Audio Transcription
|
|
"google-cloud-storage>=2.18.0, <3.0.0", # For GCS Artifact service
|
|
"google-genai>=1.17.0", # Google GenAI SDK
|
|
"graphviz>=0.20.2", # Graphviz for graph rendering
|
|
"mcp>=1.8.0;python_version>='3.10'", # For MCP Toolset
|
|
"opentelemetry-api>=1.31.0", # OpenTelemetry
|
|
"opentelemetry-exporter-gcp-trace>=1.9.0",
|
|
"opentelemetry-sdk>=1.31.0",
|
|
"pydantic>=2.0, <3.0.0", # For data validation/models
|
|
"python-dotenv>=1.0.0", # To manage environment variables
|
|
"PyYAML>=6.0.2", # For APIHubToolset.
|
|
"sqlalchemy>=2.0", # SQL database ORM
|
|
"tzlocal>=5.3", # Time zone utilities
|
|
"uvicorn>=0.34.0", # ASGI server for FastAPI
|
|
# go/keep-sorted end
|
|
]
|
|
dynamic = ["version"]
|
|
|
|
[project.urls]
|
|
homepage = "https://google.github.io/adk-docs/"
|
|
repository = "https://github.com/google/adk-python"
|
|
changelog = "https://github.com/google/adk-python/blob/main/CHANGELOG.md"
|
|
documentation = "https://google.github.io/adk-docs/"
|
|
|
|
[project.scripts]
|
|
adk = "google.adk.cli:main"
|
|
|
|
[project.optional-dependencies]
|
|
|
|
dev = [
|
|
# go/keep-sorted start
|
|
"flit>=3.10.0",
|
|
"isort>=6.0.0",
|
|
"pyink>=24.10.0",
|
|
"pylint>=2.6.0",
|
|
"mypy>=1.15.0",
|
|
# go/keep-sorted end
|
|
]
|
|
|
|
eval = [
|
|
# go/keep-sorted start
|
|
"google-cloud-aiplatform[evaluation]>=1.87.0",
|
|
"pandas>=2.2.3",
|
|
"tabulate>=0.9.0",
|
|
# go/keep-sorted end
|
|
]
|
|
|
|
test = [
|
|
# go/keep-sorted start
|
|
"anthropic>=0.43.0", # For anthropic model tests
|
|
"langchain-community>=0.3.17",
|
|
"langgraph>=0.2.60", # For LangGraphAgent
|
|
"litellm>=1.71.2", # For LiteLLM tests
|
|
"llama-index-readers-file>=0.4.0", # For retrieval tests
|
|
|
|
"pytest-asyncio>=0.25.0",
|
|
"pytest-mock>=3.14.0",
|
|
"pytest-xdist>=3.6.1",
|
|
"pytest>=8.3.4",
|
|
# go/keep-sorted end
|
|
]
|
|
|
|
docs = [
|
|
"autodoc_pydantic",
|
|
"furo",
|
|
"myst-parser",
|
|
"sphinx",
|
|
"sphinx-autodoc-typehints",
|
|
"sphinx-rtd-theme",
|
|
]
|
|
|
|
# Optional extensions
|
|
extensions = [
|
|
"anthropic>=0.43.0", # For anthropic model support
|
|
"beautifulsoup4>=3.2.2", # For load_web_page tool.
|
|
"crewai[tools];python_version>='3.10'", # For CrewaiTool
|
|
"docker>=7.0.0", # For ContainerCodeExecutor
|
|
"langgraph>=0.2.60", # For LangGraphAgent
|
|
"litellm>=1.63.11", # For LiteLLM support
|
|
"llama-index-readers-file>=0.4.0", # For retrieval using LlamaIndex.
|
|
"lxml>=5.3.0", # For load_web_page tool.
|
|
"toolbox-core>=0.1.0", # For tools.toolbox_toolset.ToolboxToolset
|
|
]
|
|
|
|
|
|
[tool.pyink]
|
|
# Format py files following Google style-guide
|
|
line-length = 80
|
|
unstable = true
|
|
pyink-indentation = 2
|
|
pyink-use-majority-quotes = true
|
|
pyink-annotation-pragmas = [
|
|
"noqa",
|
|
"pylint:",
|
|
"type: ignore",
|
|
"pytype:",
|
|
"mypy:",
|
|
"pyright:",
|
|
"pyre-",
|
|
]
|
|
|
|
|
|
[build-system]
|
|
# Build system specify which backend is used to build/install the project (flit,
|
|
# poetry, setuptools,...). All backends are supported by `pip install`
|
|
requires = ["flit_core >=3.8,<4"]
|
|
build-backend = "flit_core.buildapi"
|
|
|
|
[tool.flit.sdist]
|
|
include = ['src/**/*', 'README.md', 'pyproject.toml', 'LICENSE']
|
|
exclude = ['src/**/*.sh']
|
|
|
|
[tool.flit.module]
|
|
name = "google.adk"
|
|
include = ["py.typed"]
|
|
|
|
[tool.isort]
|
|
profile = "google"
|
|
single_line_exclusions = []
|
|
known_third_party = ["google.adk"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
asyncio_default_fixture_loop_scope = "function"
|
|
asyncio_mode = "auto"
|
|
|
|
[tool.mypy]
|
|
python_version = "3.9"
|
|
exclude = "tests/"
|
|
plugins = ["pydantic.mypy"]
|
|
# Start with non-strict mode, and swtich to strict mode later.
|
|
# strict = true
|
|
disable_error_code = ["import-not-found", "import-untyped", "unused-ignore"]
|
|
follow_imports = "skip"
|