nonebot-bison/pyproject.toml
2024-12-23 00:45:50 +08:00

159 lines
3.8 KiB
TOML

[project]
authors = [{ name = "felinae98", email = "felinae225@qq.com" }]
license = { text = "MIT" }
requires-python = "<4.0.0,>=3.10"
dependencies = [
"beautifulsoup4==4.12.3",
"feedparser==6.0.11",
"httpx==0.27.2",
"nonebot2[fastapi]==2.3.3",
"nonebot-adapter-onebot==2.4.5",
"nonebot-plugin-htmlrender==0.3.5",
"nonebot-plugin-datastore==1.3.0",
"nonebot-plugin-apscheduler==0.5.0",
"nonebot-plugin-send-anything-anywhere==0.7.1",
"pillow==11.0.0",
"pyjwt==2.9.0",
"python-socketio==5.11.4",
"tinydb==4.8.0",
"qrcode==7.4.2",
"Pydantic==2.9.2",
"lxml==5.3.0",
"yarl==1.11.1",
"hishel==0.0.30",
"expiringdictx==1.1.0",
"rapidfuzz==3.9.7",
]
name = "nonebot-bison"
version = "0.9.5"
description = "Subscribe message from social medias"
keywords = ["nonebot", "nonebot2", "qqbot"]
readme = "README.md"
classifiers = [
"Development Status :: 4 - Beta",
"Operating System :: POSIX :: Linux",
"Operating System :: Microsoft :: Windows",
"Operating System :: MacOS",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"License :: OSI Approved :: MIT License",
]
[project.urls]
homepage = "https://github.com/felinae98/nonebot-bison"
[project.entry-points.nb_scripts]
bison = "nonebot_bison.script.cli:main"
[dependency-groups]
dev = [
"ipdb==0.13.13",
"nonemoji==0.1.4",
"nb-cli==1.4.2",
"pre-commit==4.0.1",
"ruff==0.8.2",
]
test = [
"flaky==3.8.1",
"nonebug==0.3.7",
"pytz==2024.2",
"nonebug-saa==0.4.1",
"pytest==8.3.3",
"pytest-asyncio==0.24.0",
"pytest-cov==6.0.0",
"pytest-mock==3.14.0",
"pytest-xdist[psutil]==3.6.1",
"respx==0.21.1",
"freezegun==1.5.1",
]
docker = [
"nb-cli==1.4.2",
"nonebot2[aiohttp,fastapi]==2.3.3",
"nonebot-adapter-red==0.9.0",
"nonebot-adapter-qq==1.5.1",
"poetry-core==1.9.0",
]
[tool.uv]
default-groups = ["dev", "test"]
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
[tool.pytest.ini_options]
markers = [
"compare: compare fetching result with rsshub",
"render: render img by chrome",
"external: use external resources",
]
asyncio_mode = "auto"
[tool.ruff]
line-length = 120
target-version = "py310"
[tool.ruff.lint]
select = [
"F", # Pyflakes
"W", # pycodestyle warnings
"E", # pycodestyle errors
"I", # isort
"UP", # pyupgrade
"ASYNC", # flake8-async
"C4", # flake8-comprehensions
"T10", # flake8-debugger
"T20", # flake8-print
"PYI", # flake8-pyi
"PT", # flake8-pytest-style
"Q", # flake8-quotes
"TID", # flake8-tidy-imports
"RUF", # Ruff-specific rules
]
ignore = [
"E402", # module-import-not-at-top-of-file
"UP037", # quoted-annotation
"RUF001", # ambiguous-unicode-character-string
"RUF002", # ambiguous-unicode-character-docstring
"RUF003", # ambiguous-unicode-character-comment
]
[tool.ruff.format]
line-ending = "lf"
[tool.ruff.lint.isort]
force-sort-within-sections = true
known-first-party = ["nonebot_bison", "tests/*"]
extra-standard-library = ["typing_extensions"]
[tool.ruff.lint.flake8-pytest-style]
fixture-parentheses = false
mark-parentheses = false
[tool.ruff.lint.pyupgrade]
keep-runtime-typing = true
[tool.nonebot]
adapters = [
{ name = "OneBot V11", module_name = "nonebot.adapters.onebot.v11" },
]
plugins = ["nonebot_bison"]
plugin_dirs = ["extra_plugins"]
builtin_plugins = ["echo"]
[tool.pyright]
typeCheckingMode = "basic"
reportShadowedImports = false
disableBytesTypePromotions = true
pythonVersion = "3.10"
pythonPlatform = "All"
executionEnvironments = [
{ root = "./tests", extraPaths = [
"./",
] },
{ root = "./" },
]
defineConstant = { PYDANTIC_V2 = true }