Files
dify/dify-agent/tests/local/test_packaging.py
盐粒 Yanli 55f95dbc36 feat(agent): init agent server (#36087)
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-14 06:04:44 +00:00

46 lines
1.3 KiB
Python

from __future__ import annotations
import tomllib
from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parents[2]
CLIENT_SHARED_DTO_DEPENDENCIES = {
"httpx>=0.28.1",
"pydantic>=2.13.3",
"pydantic-ai-slim>=1.85.1",
"typing-extensions>=4.12.2",
}
SERVER_RUNTIME_DEPENDENCIES = {
"fastapi>=0.136.0",
"graphon~=0.2.2",
"jsonschema>=4.23.0",
"pydantic-ai-slim[anthropic,google,openai]>=1.85.1",
"pydantic-settings>=2.12.0",
"redis>=5",
"uvicorn[standard]>=0.38.0",
}
def _read_pyproject():
return tomllib.loads((PROJECT_ROOT / "pyproject.toml").read_text(encoding="utf-8"))
def test_project_dependencies_split_client_and_server_requirements() -> None:
pyproject = _read_pyproject()
project = pyproject["project"]
assert set(project["dependencies"]) == CLIENT_SHARED_DTO_DEPENDENCIES
assert set(project["optional-dependencies"]["server"]) == SERVER_RUNTIME_DEPENDENCIES
def test_default_package_discovery_excludes_example_packages() -> None:
pyproject = _read_pyproject()
find_config = pyproject["tool"]["setuptools"]["packages"]["find"]
assert find_config["where"] == ["src"]
assert "agenton_examples*" not in find_config["include"]
assert "dify_agent_examples*" not in find_config["include"]