[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", ] [project.optional-dependencies] 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 }