[tool.poetry] name = "nonebot-bison" version = "0.9.5" description = "Subscribe message from social medias" authors = ["felinae98 "] 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"