nonebot-bison/pyproject.toml
2024-12-17 10:52:21 +08:00

165 lines
4.1 KiB
TOML

[tool.poetry]
name = "nonebot-bison"
version = "0.9.5"
description = "Subscribe message from social medias"
authors = ["felinae98 <felinae225@qq.com>"]
license = "MIT"
homepage = "https://github.com/felinae98/nonebot-bison"
keywords = ["nonebot", "nonebot2", "qqbot"]
readme = "README.md"
include = ["nonebot_bison/admin_page/dist/**/*"]
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",
]
[tool.poetry.dependencies]
python = ">=3.10,<4.0.0"
beautifulsoup4 = ">=4.12.3"
feedparser = "^6.0.11"
httpx = ">=0.27.2"
nonebot2 = { extras = ["fastapi"], version = "^2.3.3" }
nonebot-adapter-onebot = "^2.4.5"
nonebot-plugin-htmlrender = ">=0.3.5"
nonebot-plugin-datastore = ">=1.3.0,<2.0.0"
nonebot-plugin-apscheduler = ">=0.5.0"
nonebot-plugin-send-anything-anywhere = ">=0.7.1,<0.7.2"
pillow = ">=11.0.0,<11.1"
pyjwt = "^2.9.0"
python-socketio = "^5.11.4"
tinydb = "^4.8.0"
qrcode = "^7.4.2"
pydantic = ">=2.9.2,<3.0.0,!=2.5.0,!=2.5.1"
lxml = ">=5.3.0"
yarl = ">=1.11.1"
hishel = "^0.0.30"
expiringdictx = "^1.1.0"
rapidfuzz = "^3.9.7"
[tool.poetry.group.dev.dependencies]
ipdb = "^0.13.13"
nonemoji = "^0.1.4"
nb-cli = "^1.4.2"
pre-commit = "^4.0.1"
ruff = "^0.8.2"
[tool.poetry.group.test.dependencies]
flaky = "^3.8.1"
nonebug = "^0.3.7"
nonebug-saa = "^0.4.1"
pytest = ">=8.3.3,<9.0.0"
pytest-asyncio = ">=0.24.0,<0.24.1"
pytest-cov = ">=6.0.0,<7"
pytest-mock = "^3.14.0"
pytest-xdist = { extras = ["psutil"], version = "^3.6.1" }
respx = ">=0.21.1,<0.22"
freezegun = "^1.5.1"
[tool.poetry.group.docker]
optional = true
[tool.poetry.group.docker.dependencies]
nb-cli = "^1.4.2"
nonebot2 = { extras = ["fastapi", "aiohttp"], version = "^2.3.3" }
nonebot-adapter-red = "^0.9.0"
nonebot-adapter-qq = "^1.5.1"
poetry-core = "^1.9.0"
[tool.poetry.extras]
cli = ["anyio", "click", "typing-extensions"]
yaml = ["pyyaml"]
all = ["anyio", "click", "typing-extensions", "pyyaml"]
[tool.poetry.plugins.nb_scripts]
bison = "nonebot_bison.script.cli:main"
[build-system]
requires = ["poetry-core>=1.9.0"]
build-backend = "poetry.core.masonry.api"
[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 }
[[tool.poetry.source]]
name = "offical-source"
url = "https://pypi.org/simple/"
priority = "primary"