Files
hanzoai_agent/sdk/python/pyproject.toml

93 lines
2.8 KiB
TOML

[build-system]
requires = ["setuptools>=45", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "hanzo_agents"
version = "0.1.41-rc.2"
description = "Python SDK for the Hanzo Agents control plane"
readme = "README.md"
license = {text = "Apache-2.0"}
authors = [
{name = "Hanzo Agents Maintainers"}
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.8",
"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",
"Topic :: Software Development :: Libraries :: Python Modules",
]
requires-python = ">=3.8,<3.14"
dependencies = [
"fastapi",
"uvicorn",
"requests>=2.28",
"pydantic>=2.0",
"hanzo-llm>=1.0.0",
"psutil",
"PyYAML>=6.0",
"aiohttp>=3.8",
"websockets",
"fal-client>=0.5.0"
]
keywords = ["hanzo_agents", "sdk", "agents"]
[project.urls]
Homepage = "https://github.com/hanzoai/agents"
Documentation = "https://github.com/hanzoai/agents/tree/main/docs"
Issues = "https://github.com/hanzoai/agents/issues"
[tool.setuptools.packages.find]
where = ["."]
include = ["hanzo_agents*"]
exclude = ["tests*", "examples*"]
[project.optional-dependencies]
dev = [
"pytest>=7.4,<9",
"pytest-asyncio>=0.21,<0.24",
"pytest-cov>=4.1,<5",
"responses>=0.23,<0.26",
"respx>=0.20,<0.22",
"freezegun>=1.2,<2",
"syrupy>=4,<5",
"hypothesis>=6.88,<7",
"pytest-socket>=0.6,<0.8",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
markers = [
"smoke: fast sanity checks",
"functional: end-to-end behavior within SDK boundaries",
"contract: API/interface stability tests",
"unit: isolated unit tests",
"integration: tests that can touch network/services",
"mcp: tests that exercise MCP/network interactions"
]
addopts = "-ra -q -m \"not mcp\" --strict-markers --strict-config --cov=hanzo_agents.client --cov=hanzo_agents.agent_field_handler --cov=hanzo_agents.execution_context --cov=hanzo_agents.execution_state --cov=hanzo_agents.memory --cov=hanzo_agents.rate_limiter --cov=hanzo_agents.result_cache --cov-report=term-missing:skip-covered"
asyncio_mode = "auto"
[tool.coverage.run]
source = ["hanzo_agents"]
omit = [
"hanzo_agents/agent_mcp.py",
"hanzo_agents/dynamic_skills.py",
"hanzo_agents/mcp_client.py",
"hanzo_agents/mcp_manager.py",
"hanzo_agents/mcp_stdio_bridge.py",
"hanzo_agents/logger.py",
"hanzo_agents/types.py",
]