nonebot-bison/pyproject.toml
Azide f35c6c2fd3
♻️ 迁移到 uv 并重写 Dockerfile (#667)
Co-authored-by: BalconyJH <balconyjh@gmail.com>
Co-authored-by: suyiiyii <suyiiyii@gmail.com>
2025-01-03 17:55:06 +08:00

161 lines
4.0 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<7.0.0,>=6.0.11",
"httpx>=0.27.2",
"nonebot2[fastapi]<3.0.0,>=2.3.3",
"nonebot-adapter-onebot<3.0.0,>=2.4.5",
"nonebot-plugin-htmlrender>=0.3.5,!=0.5.0",
"nonebot-plugin-datastore<2.0.0,>=1.3.0",
"nonebot-plugin-apscheduler>=0.5.0",
"nonebot-plugin-send-anything-anywhere<0.7.2,>=0.7.1",
"pillow<11.1,>=11.0.0",
"pyjwt<3.0.0,>=2.9.0",
"python-socketio<6.0.0,>=5.11.4",
"tinydb<5.0.0,>=4.8.0",
"qrcode<8.0.0,>=7.4.2",
"pydantic!=2.5.0,!=2.5.1,<3.0.0,>=2.9.2",
"lxml>=5.3.0",
"yarl>=1.11.1",
"hishel<1.0.0,>=0.0.30",
"expiringdictx<2.0.0,>=1.1.0",
"rapidfuzz<4.0.0,>=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<1.0.0,>=0.13.13",
"nonemoji<1.0.0,>=0.1.4",
"nb-cli<2.0.0,>=1.4.2",
"pre-commit<5.0.0,>=4.0.1",
"ruff<1.0.0,>=0.8.2",
]
test = [
"flaky<4.0.0,>=3.8.1",
"nonebug<1.0.0,>=0.3.7",
"nonebug-saa<1.0.0,>=0.4.1",
"pytest<9.0.0,>=8.3.3",
"pytest-asyncio<0.24.1,>=0.24.0",
"pytest-cov<7,>=6.0.0",
"pytest-mock<4.0.0,>=3.14.0",
"pytest-xdist[psutil]<4.0.0,>=3.6.1",
"respx<0.23.0,>=0.22.0",
"freezegun<2.0.0,>=1.5.1",
"pytz>=2024.2",
]
[project.optional-dependencies]
docker = [
"nb-cli<2.0.0,>=1.4.2",
"nonebot2[aiohttp,fastapi]<3.0.0,>=2.3.3",
"nonebot-adapter-qq<2.0.0,>=1.5.1",
"nonebot-adapter-satori>=0.13.1",
"pip>=24.3.1",
]
[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 }