mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-15 17:30:13 +08:00
88 lines
2.0 KiB
TOML
88 lines
2.0 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=80", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "astrbot-sdk"
|
|
version = "0.1.0"
|
|
description = "AstrBot SDK with v4 runtime and legacy compatibility surfaces"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"aiohttp>=3.13.2",
|
|
"anthropic>=0.72.1",
|
|
"certifi>=2025.10.5",
|
|
"click>=8.3.0",
|
|
"docstring-parser>=0.17.0",
|
|
"google-genai>=1.50.0",
|
|
"loguru>=0.7.3",
|
|
"openai>=2.7.2",
|
|
"pydantic>=2.12.3",
|
|
"pyyaml>=6.0.3",
|
|
]
|
|
|
|
[project.scripts]
|
|
astr = "astrbot_sdk.cli:cli"
|
|
astrbot-sdk = "astrbot_sdk.cli:cli"
|
|
|
|
[tool.setuptools]
|
|
package-dir = {"" = "src-new"}
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src-new"]
|
|
|
|
# ============================================================
|
|
# Pytest Configuration
|
|
# ============================================================
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"pytest>=8.0.0",
|
|
"pytest-asyncio>=0.24.0",
|
|
"pytest-cov>=5.0.0",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests_v4"]
|
|
python_files = ["test_*.py"]
|
|
python_classes = ["Test*"]
|
|
python_functions = ["test_*"]
|
|
asyncio_mode = "auto"
|
|
asyncio_default_fixture_loop_scope = "function"
|
|
addopts = [
|
|
"-v",
|
|
"--tb=short",
|
|
"--strict-markers",
|
|
]
|
|
markers = [
|
|
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
|
|
"integration: marks tests as integration tests",
|
|
"unit: marks tests as unit tests",
|
|
]
|
|
filterwarnings = [
|
|
"ignore::DeprecationWarning",
|
|
"ignore::PendingDeprecationWarning",
|
|
]
|
|
|
|
# ============================================================
|
|
# Coverage Configuration
|
|
# ============================================================
|
|
[tool.coverage.run]
|
|
source = ["src-new/astrbot_sdk"]
|
|
branch = true
|
|
omit = [
|
|
"*/tests/*",
|
|
"*/__pycache__/*",
|
|
"*/_legacy_api.py",
|
|
]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"def __repr__",
|
|
"raise AssertionError",
|
|
"raise NotImplementedError",
|
|
"if __name__ == .__main__.:",
|
|
"if TYPE_CHECKING:",
|
|
]
|
|
show_missing = true
|