-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Expand file tree
/
Copy pathpyproject.toml
More file actions
130 lines (118 loc) · 2.99 KB
/
pyproject.toml
File metadata and controls
130 lines (118 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[project]
name = "AstrBot"
version = "4.22.3"
description = "Easy-to-use multi-platform LLM chatbot and development framework"
readme = "README.md"
license = { text = "AGPL-3.0-or-later" }
requires-python = ">=3.12"
keywords = ["AstrBot", "Agent", "Chatbot", "IM"]
dependencies = [
"aiocqhttp>=1.4.4",
"aiodocker>=0.24.0",
"aiohttp>=3.11.18",
"aiosqlite>=0.21.0",
"anthropic>=0.51.0",
"apscheduler>=3.11.0",
"certifi>=2025.4.26",
"chardet~=5.1.0",
"loguru>=0.7.2",
"cryptography>=44.0.3",
"dashscope>=1.23.2",
"deprecated>=1.2.18",
"dingtalk-stream>=0.22.1",
"docstring-parser>=0.16",
"faiss-cpu>=1.12.0",
"filelock>=3.18.0",
"google-genai>=1.56.0",
"httpx[socks]>=0.28.1",
"lark-oapi>=1.4.15",
"mcp>=1.8.0",
"openai>=1.78.0",
"ormsgpack>=1.9.1",
"pillow>=11.2.1",
"pip>=25.1.1",
"psutil>=5.8.0,<7.2.0",
"py-cord>=2.6.1",
"pydantic>=2.12.5",
"pydub>=0.25.1",
"pyjwt>=2.10.1",
"qrcode>=8.2",
"python-telegram-bot>=22.6",
"qq-botpy>=1.2.1",
"quart>=0.20.0",
"silk-python>=0.2.6",
"slack-sdk>=3.35.0",
"sqlalchemy[asyncio]>=2.0.41",
"sqlmodel>=0.0.24",
"telegramify-markdown>=1.0.0",
"watchfiles>=1.0.5",
"websockets>=15.0.1",
"wechatpy>=1.8.18",
"audioop-lts ; python_full_version >= '3.13'",
"click>=8.2.1",
"pypdf>=6.1.1",
"aiofiles>=25.1.0",
"rank-bm25>=0.2.2",
"jieba>=0.42.1",
"markitdown-no-magika[docx,xls,xlsx]>=0.1.2",
"xinference-client",
"tenacity>=9.1.2",
"shipyard-python-sdk>=0.2.4",
"shipyard-neo-sdk>=0.2.0",
"python-socks>=2.8.0",
"pysocks>=1.7.1",
"packaging>=24.2",
]
[dependency-groups]
dev = [
"commitizen>=4.9.1",
"pytest>=8.4.1",
"pytest-asyncio>=1.1.0",
"pytest-cov>=6.2.1",
"ruff>=0.15.0",
]
[project.scripts]
astrbot = "astrbot.cli.__main__:cli"
[project.urls]
Repository = "https://github.com/AstrBotDevs/AstrBot"
[tool.ruff]
exclude = ["astrbot/core/utils/t2i/local_strategy.py", "astrbot/api/all.py", "tests"]
line-length = 88
target-version = "py310"
[tool.ruff.lint]
select = [
"F", # Pyflakes
"W", # pycodestyle warnings
"E", # pycodestyle errors
"ASYNC", # flake8-async
"C4", # flake8-comprehensions
"Q", # flake8-quotes
"I", # import-order
"UP", # pyupgrade
# "SIM", # flake8-simplify
]
ignore = [
"F403",
"F405",
"E501",
"ASYNC230", # TODO: handle ASYNC230 in AstrBot
"ASYNC240", # TODO: handle ASYNC240 in AstrBot
]
[tool.pyright]
typeCheckingMode = "basic"
pythonVersion = "3.10"
reportMissingTypeStubs = false
reportMissingImports = false
include = ["astrbot"]
exclude = ["dashboard", "node_modules", "dist", "data", "tests"]
[tool.hatch.metadata]
allow-direct-references = true
# Include bundled dashboard dist even though it is not tracked by VCS.
[tool.hatch.build.targets.wheel]
artifacts = ["astrbot/dashboard/dist/**"]
# Custom build hook: builds the Vue dashboard and copies dist into the package.
[tool.hatch.build.hooks.custom]
path = "scripts/hatch_build.py"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"