mirror of
https://github.com/langgenius/dify.git
synced 2026-05-23 02:18:23 +08:00
Co-authored-by: Copilot <copilot@github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
46 lines
1.3 KiB
Python
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"]
|