Files
Mofox-Core/pyproject.toml
2025-10-02 20:26:01 +08:00

141 lines
3.3 KiB
TOML

[project]
name = "MaiBot"
version = "0.8.1"
description = "MaiCore 是一个基于大语言模型的可交互智能体"
requires-python = ">=3.10"
dependencies = [
"aiohttp>=3.12.14",
"aiohttp-cors>=0.8.1",
"apscheduler>=3.11.0",
"asyncddgs>=0.1.0a1",
"asyncio>=4.0.0",
"beautifulsoup4>=4.13.4",
"chromadb>=0.5.0",
"colorama>=0.4.6",
"cryptography>=45.0.5",
"customtkinter>=5.2.2",
"dotenv>=0.9.9",
"exa-py>=1.14.20",
"faiss-cpu>=1.11.0",
"fastapi>=0.116.0",
"google>=3.0.0",
"google-genai>=1.29.0",
"httpx>=0.28.1",
"jieba>=0.42.1",
"json-repair>=0.47.6",
"json5>=0.12.1",
"jsonlines>=4.0.0",
"langfuse==2.46.2",
"lunar-python>=1.4.4",
"lxml>=6.0.0",
"maim-message>=0.3.8",
"matplotlib>=3.10.3",
"networkx>=3.4.2",
"orjson>=3.10",
"numpy>=2.2.6",
"openai>=1.95.0",
"opencv-python>=4.11.0.86",
"packaging>=23.2",
"pandas>=2.3.1",
"peewee>=3.18.2",
"pillow>=11.3.0",
"pip-check-reqs>=2.5.5",
"psutil>=7.0.0",
"pyarrow>=20.0.0",
"pydantic>=2.11.7",
"pygments>=2.19.2",
"pymongo>=4.13.2",
"pymysql>=1.1.1",
"pypinyin>=0.54.0",
"python-dateutil>=2.9.0.post0",
"python-dotenv>=1.1.1",
"python-igraph>=0.11.9",
"quick-algo>=0.1.3",
"reportportal-client>=5.6.5",
"requests>=2.32.4",
"rich>=14.0.0",
"ruff>=0.12.2",
"scikit-learn>=1.7.0",
"scipy>=1.15.3",
"seaborn>=0.13.2",
"setuptools>=80.9.0",
"sqlalchemy>=2.0.42",
"strawberry-graphql[fastapi]>=0.275.5",
"structlog>=25.4.0",
"tavily-python>=0.7.10",
"toml>=0.10.2",
"tomli>=2.2.1",
"tomli-w>=1.2.0",
"tomlkit>=0.13.3",
"tqdm>=4.67.1",
"urllib3>=2.5.0",
"uvicorn>=0.35.0",
"watchdog>=6.0.0",
"websockets>=15.0.1",
"aiomysql>=0.2.0",
"aiosqlite>=0.21.0",
"inkfox>=0.1.0",
]
[[tool.uv.index]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true
[tool.uv.sources]
amrita = { workspace = true }
[tool.ruff]
line-length = 120
target-version = "py310"
[tool.ruff.lint]
select = [
"F", # Pyflakes
"W", # pycodestyle warnings
"E", # pycodestyle errors
"UP", # pyupgrade
"ASYNC", # flake8-async
"C4", # flake8-comprehensions
"T10", # flake8-debugger
"PYI", # flake8-pyi
"PT", # flake8-pytest-style
"Q", # flake8-quotes
"RUF", # Ruff-specific rules
"I", # isort
"PERF", # pylint-performance
]
ignore = [
"E402", # module-import-not-at-top-of-file
"E501", # line-too-long
"UP037", # quoted-annotation
"RUF001", # ambiguous-unicode-character-string
"RUF002", # ambiguous-unicode-character-docstring
"RUF003", # ambiguous-unicode-character-comment
]
# 如果一个变量的名称以下划线开头,即使它未被使用,也不应该被视为错误或警告。
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.format]
docstring-code-format = true
indent-style = "space"
# 使用双引号表示字符串
quote-style = "double"
# 尊重魔法尾随逗号
# 例如:
# items = [
# "apple",
# "banana",
# "cherry",
# ]
skip-magic-trailing-comma = false
# 自动检测合适的换行符
line-ending = "auto"
[dependency-groups]
lint = ["loguru>=0.7.3"]