mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-16 01:40:15 +08:00
Add interactive plugin init prompts and normalize generated plugin names to the astrbot_plugin_ convention. Update CLI tests for the new skeleton layout and ignore generated plugin directories in git and coverage tooling. Also include related runtime logging adjustments from the current worktree.
89 lines
2.0 KiB
TOML
89 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",
|
|
"*/plugins/*"
|
|
]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"def __repr__",
|
|
"raise AssertionError",
|
|
"raise NotImplementedError",
|
|
"if __name__ == .__main__.:",
|
|
"if TYPE_CHECKING:",
|
|
]
|
|
show_missing = true
|